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

  • Nick Pitera

    Nick Pitera

    8 NİSAN 2006
  • parlophone

    parlophone

    28 ŞUBAT 2006
  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010