SORU
25 Ocak 2011, Salı


Django, nasıl eğer bir kullanıcı belirli bir grup ise kontrol edebilirim?

Django admin sitenin özel bir grup oluşturdum.

Benim kod, eğer bir kullanıcı bu grup içinde olup olmadığını kontrol etmek istiyorum. Nasıl yapabilirim?

CEVAP
21 Kasım 2013, PERŞEMBE


SeninKullanıcınesne bağlantılıdırGrupbir nesne ileManyToManyilişki.

Böylece uygulayabilirsinizfiltreyöntemikullanıcı.gruplar.

Yani, eğer belirli bir Kullanıcı belirli bir grup ("Üye" için örnek), sadece şunu yapın : . içinde olup olmadığını kontrol etmek için

def is_member(user):
    return user.groups.filter(name='Member').exists()

Eğer belirli bir kullanıcı birden fazla verilen gruba ait olup olmadığını kontrol etmek istiyorsanız, bu kullanın__operatör gibi

def is_in_multiple_groups(user):
    return user.groups.filter(name__in=['group1', 'group2']).exists()

Bu işlevleri ile kullanılabilir olduğunu unutmayın@user_passes_testdekoratör görüşlerinizi erişimini yönetmek için :

from django.contrib.auth.decorators import login_required, user_passes_test
@login_required
@user_passes_test(is_member) # or @user_passes_test(is_in_multiple_groups)
def myview(request):
    # Do your processing

Bu yardım umut

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CNET

    CNET

    5 Mayıs 2006
  • HereWeStayKings

    HereWeStayKi

    3 NİSAN 2013
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006