我使用的是Django的规则库,我无法克服为特定菜单定义规则的问题。在
规则库在那里可用:rules library
我在我的web应用程序中以admin
的身份登录。在
我有一个菜单.py这样的文件:
class AdminMenuItem(MenuItem):
def check(self, request):
return self.allow(request.user)
@staticmethod
def allow(user):
return user.has_perm('app.access_admin_menu')
Menu.add_item('admin', MenuItem('Admin', '#admin', children=settings_children,
check=lambda request: AdminMenuItem.allow(request.user)))
settings_children = (
...
AdminMenuItem("Manage Animals", reverse("animal-list-crud"), weight=10),
AdminMenuItem("Statistics", reverse("statistics"), weight=140)
)
然后我在我的规则.py文件:
^{pr2}$它很适合动物菜单(这是一个生硬的部分)。但是当我试图访问统计部分(不是CRUD)时,我遇到了一个错误403 Access forbidden
。在
我在密码里忘了什么?在
谢谢你
我找到了解决办法。上面公开的代码很好,但是在我的主.py编码。在
在我的类中,我忘了带
permission_required = 'app.access_statistics'
的属性PermissionRequiredMixin
。 通过添加这两个元素,它现在起作用了!在相关问题 更多 >
编程相关推荐