29
我需要實現用戶組的用戶權限(非常類似於Facebook的羣體)。例如,每個組可以具有如下權限的成員:can_post,can_delete,can_ban等。當然,一個用戶可以是多個組的成員,並且組可以具有許多具有不同權限的不同用戶。 我需要什麼模型來實現此功能?用戶組和權限
我需要實現用戶組的用戶權限(非常類似於Facebook的羣體)。例如,每個組可以具有如下權限的成員:can_post,can_delete,can_ban等。當然,一個用戶可以是多個組的成員,並且組可以具有許多具有不同權限的不同用戶。 我需要什麼模型來實現此功能?用戶組和權限
的Django有一個內置的組系統。每當你有這樣的問題,我推薦searching the Django docs,這是廣泛的,有益的,寫得很好。
只要您使用的是django.contrib.auth
應用程序,您可以訪問組。然後,您可以爲這些組分配權限。
from django.contrib.auth.models import User, Group, Permission
from django.contrib.contenttypes.models import ContentType
content_type = ContentType.objects.get(app_label='myapp', model='BlogPost')
permission = Permission.objects.create(codename='can_publish',
name='Can Publish Posts',
content_type=content_type)
user = User.objects.get(username='duke_nukem')
group = Group.objects.get(name='wizard')
group.permissions.add(permission)
user.groups.add(group)
在哪個文件中你通常會放這段代碼? –
上面的代碼創建記錄,所以它就是你在shell中運行的東西。如果您想分發或部署應用程序,則需要進行設置,以便保存此初始數據。我相信你也可以在網站的管理員中修改它們。 –
同樣的事情,我與我做了,做了殼或管理員,然後生成一個夾具加載未來的應用程序的實例。感謝您的回覆 –