元素可用于多个组

时间:2019-05-28 12:11:52

标签: django django-templates

例如,我模板中的按钮仅适用于东西:

{% if request.user.is_staff %}
<a href="{% url 'unosZanraKnjige' %}" class="button">Add new</a>
{% endif %}

我在http://127.0.0.1:8000/admin/中创建了一个名为“ Djelatnici”的论坛。

是否可以使某些元素(在这种情况下为按钮)仅适用于具有“ OR”(||)条件的特定组,例如:

{% if request.user.is_staff %} || {% if request.user.is_djelatnici %}
<a href="{% url 'unosZanraKnjige' %}" class="button">Add new</a>
{% endif %}

1 个答案:

答案 0 :(得分:1)

您可以使用Django Custom Template tags

类似这样的东西:

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()

然后在模板上导入该标签并按以下方式使用:

template.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 %}