2016-01-19 22 views
-3

我有一个任务:如何处理Django的权限?

  • 创建新组
  • 添加customr权限,这组
  • 添加使用中有组(通过点击一个按钮上的站点)
  • 检查用户可以获得许可,或者他在这个组中。

Django文档提供了一些关于这方面的信息,但我不能采取cleu它应该如何工作。

有人可以提供我的代码示例(以及我应该这样做的文件)。

+4

只是按照你的步骤细分,你有你的解决方案。 – karthikr

回答

0

要创建可以使用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 

希望它能帮助。

+0

一个小问题,如何设置权限。我创建了一个视图函数,在页面上添加表单并通过页面运行这个视图。但我认为这是相当愚蠢的。应该使用任何终端命令? –

+0

嗨,它总是取决于你想如何管理网站导航... django权限的创建是在视图内部管理的,你可以从模板中调用(例如通过提交按钮)。检查权限是在视图内部管理的,例如,用户想要添加销售记录,以便在record_add视图中验证是否有权执行此操作。记得点击我的第一个答案,如果我的信息是有用的大检查。 – jsanchezs