基于非权限条件在Django中显示和隐藏菜单项?

2024-07-05 10:06:48 发布

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

我在Company上有一个名为leave_approvers的字段,它是ManyToManyField到{}。在

leave_approvers可以批准公司中其他用户的休假,这些用户是其休假审批者。他们在请假时也会收到一封电子邮件。在

我现在想根据用户是否是leave_approver在主布局中显示或隐藏Approve Leave选项卡。在

  1. 我应该使用内置授权或类似于django-guardian的内容,所以决定使用leave_approver字段是否有缺陷。请注意,我正在向leave_approvers发送电子邮件,这意味着

  2. 我可以在base.html中进行一个查询来检查用户是否是leave_approver。如何才能做到这一点,而且性能肯定会受到影响?


Tags: django用户内容公司布局内置company选项卡
1条回答
网友
1楼 · 发布于 2024-07-05 10:06:48

经过考虑,使用django权限(通过上下文处理器自动添加到上下文)是我认为最好的方法。 在模板中使用如下内容:

{% if perms.foo.can_vote %}

但是,在我的例子中,我抄近路,在基本模板中查询所有的休假审批人,这比上下文中预先构建的perms慢得多。在

^{pr2}$

相关问题 更多 >