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

  • friendz.net

    friendz.net

    29 EKİM 2010
  • iMasterful

    iMasterful

    11 EYLÜL 2009
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008