django - 元素可用于多于一个的组
问题描述
例如,我的模板中有一个仅可用于内容的按钮:
{% if request.user.is_staff %}
<a href="{% url 'unosZanraKnjige' %}" class="button">Add new</a>
{% endif %}
我在http://127.0.0.1:8000/admin/中创建了一个名为“Djelatnici”的组。
是否可以使某些元素(在这种情况下为按钮)仅适用于具有“或”(||)条件的特定组,例如:
{% if request.user.is_staff %} || {% if request.user.is_djelatnici %}
<a href="{% url 'unosZanraKnjige' %}" class="button">Add new</a>
{% endif %}
解决方案
您可以使用Django 自定义模板标签来做到这一点
像这样的东西:
my_custom_tag.py
@register.filter(name='is_my_custom_group')
def is_my_custom_group(user, group_name):
return user.groups.filter(name=group_name).exists()
然后在您的模板上导入此标签并像这样使用:
模板.html
{% load is_my_custom_group %}
{% if request.user.is_staff or request.user|is_my_custom_group:'Djelatnici' %}
<a href="{% url 'unosZanraKnjige' %}" class="button">Add new</a>
{% endif %}
推荐阅读
- c++ - 将输入层重塑为单个通道和多个图像
- c# - 如何在 C# 中的进程生命周期之后持久化对 Console.Title 的更改?
- vba - vba word变量值删除
- pixi.js - 在半透明容器中绘制到图形对象的重叠不透明形状不会在重叠区域中显示正确的 alpha
- angular - 需要有关 drupal 8 和 Angular 应用程序的 JWT SSO 身份验证的信息
- java - 当静态变量处于RIWO状态时,可以直接访问吗?
- swift - 如何将一种类型的对象数组转换为另一种?
- docker - docker build Hash Sum 不匹配
- bootstrap-modal - rcppparallel bootstrap
- c# - 如何使用 Azure 函数将数据附加到 Azure Blob 中的 Parquet 文件