Django ile grup temelli izinler oluşturmayla ilgili iyi belgelere veya kod örneklerine beni bir tür ruh gösterebilir mi? Gereksinimlerim oldukça basit - Bir kullanıcının ait olduğu gruplara bağlı olarak işlevselliği etkinleştirmem/devre dışı bırakmam gerekiyor.Django: Grup tabanlı izinler örneği/dokümanlar?
5
A
cevap
3
İşte temel bir örnek.
bakınız: Her şeyden http://www.thinkjson.com/group-permissions-in-django/
Öncelikle, Rapor adında bir model olduğunu varsayalım.
class Report(models.Model):
name = models.CharField(max_length=100)
contents = models.TextField(blank=True)
authorized_groups = models.ManyToManyField('ReportGroup', null=True, blank=True, related_name='report_groups')
def __str__(self):
return self.name
Grup izinleriyle işlemek için kullanıcı modeli için bir ara bir model oluşturabilir:
class ReportGroup(models.Model):
name = models.CharField(max_length=100)
authorized_users = models.ManyToManyField(User, null=True, blank=True, related_name='report_users')
def __str__(self):
return self.name
Şimdi, Django yönetim bir rapor düzenlerken, bir rapora grup izinleri atayabilirsiniz . Bu gruplar, bir gruba ait olan tek bir çekimde seçmenizi sağlayan Django yöneticisinde Rapor Grupları olarak uygulanabilir.