def editor_group_permissions(sender, **kwargs):
editor=Group.objects.get_or_create(name='editor')[0]
for m in ["Article", "popular Article", "slider Article"]:
for p in ["add","change","delete"]:
perm=Permission.objects.get(name="Can "+p+" "+m)
editor.permissions.add(perm)
print perm," on ",m, "granted for editor"
ct = ContentType.objects.get(app_label='auth', model='user')
staff_approve_perm=Permission.objects.get_or_create(codename='can_approve_staff',
name="Can approve staff",
content_type=ct)[0]
print staff_approve_perm," on ","staff", "granted for editor"
editor.permissions.add(staff_approve_perm)
from django.db.models import signals
signals.post_syncdb.connect(editor_group_permissions)
signals.post_syncdb.connect(author_group_permissions)
可以为创建的每个新模型运行以下代码。你知道吗
然后在“用户管理”中,在“帐户”选项卡下有“组”。 创建一个新组,将您想要的权限拖动到该组。你知道吗
然后你可以通过管理员找到被请求的用户,给他一个在被请求组下的权限。你知道吗
通常,在创建数据库架构之后,您希望创建此权限。在这种情况下,可以使用每次运行syncdb命令时运行的
signals.post_syncdb.connect(...)
。由于权限是一项管理任务,我个人认为将它添加到admin.py
更为相关,但您可以将它放在任何地方。你知道吗相关问题 更多 >
编程相关推荐