有没有办法让用户菜单根据分配给用户所属用户组的权限而改变?我正在考虑在 View 级别检查这些权限,并删除用户无权访问的菜单选项。
最佳答案
是的,可以访问模板中的用户对象并检查用户是否是这样的员工:
{% if user.is_staff %}
<li>
<a href="/admin/">Admin</a>
</li>
{% endif %}
这将是一个示例,其中您的菜单中包含 li 项链接。管理员链接只会为具有 is_staff 状态的用户呈现。使用 is_authenticated 也可以做到这一点。
Django 构建逻辑和表示分离,所以如果你想对菜单做一些更细粒度的控制,我建议在 View 内部做逻辑,然后设置一个变量,你可以在模板中检查以确定要显示哪些菜单。
关于django - Django 中的动态用户菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1050653/