我有一个任务:如何处理Django的权限?
- 创建新组
- 添加customr权限,这组
- 添加使用中有组(通过点击一个按钮上的站点)
- 检查用户可以获得许可,或者他在这个组中。
Django文档提供了一些关于这方面的信息,但我不能采取cleu它应该如何工作。
有人可以提供我的代码示例(以及我应该这样做的文件)。
我有一个任务:如何处理Django的权限?
Django文档提供了一些关于这方面的信息,但我不能采取cleu它应该如何工作。
有人可以提供我的代码示例(以及我应该这样做的文件)。
要创建可以使用Django管理站点,以自定义权限和用户添加到它,你可以像这样做,例如一组:
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)
检查,如果该用户哈桑特定的权限:
if request.user.has_perm('your_appname.can_publish'):
#your instructions
希望它能帮助。
一个小问题,如何设置权限。我创建了一个视图函数,在页面上添加表单并通过页面运行这个视图。但我认为这是相当愚蠢的。应该使用任何终端命令? –
嗨,它总是取决于你想如何管理网站导航... django权限的创建是在视图内部管理的,你可以从模板中调用(例如通过提交按钮)。检查权限是在视图内部管理的,例如,用户想要添加销售记录,以便在record_add视图中验证是否有权执行此操作。记得点击我的第一个答案,如果我的信息是有用的大检查。 – jsanchezs
只是按照你的步骤细分,你有你的解决方案。 – karthikr