有条件地改变django模板变量

时间:2017-04-27 14:13:49

标签: django django-templates

TL;博士

我需要通过在整个过程中连接字符串来更改模板变量。

我的问题

我在我的模板中循环查询集,在循环内部我正在检查对象上的某些字段是否与当前4200匹配。如果是这样,那么我的变量会更改并最终作为user应用于元素。

class

因此,如果我的{% for item in items %} {% with class="" %} {% if request.user == item.field1 %} /* append to class variable, ex: class=" field1" */ {% endif %} {% if request.user == item.field2 %} /* append to class variable, ex: class=" field1 field2" */ {% endif %} <div class="{{class}}"></div> {% endwith %} {% endfor %} 等于request.useritem.field1,那么我的元素将如下所示:

item.field2

如果我的<div class=" field1 field2"></div> 仅等于request.user,那么我的元素将如下所示:

item.field2

1 个答案:

答案 0 :(得分:1)

您无法在Django模板语言中执行此操作。你可以写一个标签,但我不明白为什么你想要;你可以直接做整个事情。

<div class="{% if request.user == item.field1 %}field1{% endif %} {% if request.user == item.field2 %}field2{% endif %}"></div>