得益于Sk1p的解决方案:
从django.contrib.auth公司.decorators需要进口许可证
ip经理/网址.py:
urlpatterns = patterns('',
url(r'^(?P<groupname>\w+)/tag/add/$', permission_required('ip_manager.add_tag')(TagFormView.as_view()), name='tag-add'),
)
我试图限制用户添加、更改或删除模型。我只使用CBV。我看了下面的例子。。在
以及
How to use permission_required decorators on django class-based views
我的问题是我想告诉用户需要访问哪个权限,但我不确定如何指定它。我尝试在loginrequired中将权限作为参数传递,并在一个没有设置权限的用户上进行了测试。这个方法不起作用它仍然允许我添加一个新的模型对象。有人有什么建议吗?在
ip经理/网址.py:
^{pr2}$谢谢, 瑞安
如果要指定所需的权限,则需要使用the ^{} decorator 。因为它需要一个论据,所以下面这样的方法应该有效:
文档中也说明了这一点:Decorating class-based views
另一种限制基于类的视图(而不是URL路由)的权限的方法是在管理面板中使用
Groups
,在视图本身上使用PermissionRequiredMixin
。就这样应用PermissionRequiredMixin
。。。在。。。然后将用户添加到管理面板中的特定
Groups
,并对其应用can_change_memo
权限。。或者更好的方法是,在注册时将组应用于用户!在相关问题 更多 >
编程相关推荐