django - Django 中的动态用户菜单

标签 django dynamic menu permissions

有没有办法让用户菜单根据分配给用户所属用户组的权限而改变?我正在考虑在 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/

相关文章:

css - 在纯 CSS 中向现有按钮添加小下拉菜单

django - 为什么我不能在 Django 路由器中注册 '.as_view()'(使用 djangorestframework-simplejwt)?

php - 动态加载命名空间类

html - 如何扩大特定顶级菜单项的子菜单项区域?

c - linux上的动态链接库

c++ - 动态类型的含义

javascript - 使用本地存储来保持侧边栏的位置

python - KeyError 在/登录/

python - Django 查询未知数量的多个日期范围

ajax - 数据表 : Custom Response Handling