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

  • Caina Mondo Zine

    Caina Mondo

    13 EKİM 2007
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010
  • xSammyJoe1

    xSammyJoe1

    19 Temmuz 2011