首页 > 解决方案 > Django模板`With`运算符复杂的布尔赋值

问题描述

我正在创建一个 Django 模板,其中的列仅对管理员可见。目前我正在使用一个has_group运行良好的模板标签。我必须为超级用户添加一些逻辑。

 {% if request.user|has_group:"Admins" or request.user.is_superuser %}
 <th class="detail_btn_col" scope="col">Detail</th>
 {% endif %}
 ...
 Similar code for the <td>

但它正在对表的每一行进行查询。不可怕,但我想在模板开始时设置一次值。我看到我可以使用分配一个变量with,这将完成我想要的。

{% with has_admin_view=request.user|has_group:"Admins" or request.user.is_superuser %}

不工作。

{% with has_admin_view=request.user|has_group:"Admins" %}

以上工作,但不包括超级用户。

有没有办法在 Django 模板的 WITH 语句中进行 AND/OR 操作?

标签: pythondjangotemplatesboolean

解决方案


推荐阅读