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

  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • Google

    Google

    18 EYLÜL 2005
  • KIT KAT

    KIT KAT

    3 EKİM 2005