Django规则问题

2024-05-29 02:10:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是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。在

我在密码里忘了什么?在

谢谢你


Tags: 文件pyselfreturnadmin规则requestdef
1条回答
网友
1楼 · 发布于 2024-05-29 02:10:39

我找到了解决办法。上面公开的代码很好,但是在我的主.py编码。在

class StatisticsView(PermissionRequiredMixin, View):
    """ Render the statistics page with a form to generate various stats """

    permission_required = 'app.access_statistics'
    ...

在我的类中,我忘了带permission_required = 'app.access_statistics'的属性PermissionRequiredMixin。 通过添加这两个元素,它现在起作用了!在

相关问题 更多 >

    热门问题