Django模板条件删除按钮

时间:2014-02-12 18:30:28

标签: django django-templates

我有一个名为Group的模型(不要与内置的Django组混淆),ManyToMany字段名为adminsdjango.contrib.auth.models.User。在我的模板中,我希望用户能够在管理员(管理员字段包含当前用户)时删除该组。我现在这样做的方式是这样的循环:

{% for admin in group.admins.all %}
    {% if user == admin %}<a href="/groups/delete/{{group.id}}/">[x]</a>{% endif %}
{% endfor %}

由于Django不鼓励将属性传递给模板内的函数,因此我无法使用filter字段上的getadmins函数。但我想知道是否有更直接的方法来解决这个问题,而不是循环遍历所有管理员。

1 个答案:

答案 0 :(得分:0)

Django模板support the if x in list syntax(根据链接线程,自Django 1.2开始)。您可以使用单个if

简化for循环
{% if user in groups.admins %}
    <a href="/groups/delete/{{group.id}}/">[x]</a>
{% endif %}