Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有条件地更改django模板变量 tl;博士_Django_Django Templates - Fatal编程技术网

有条件地更改django模板变量 tl;博士

有条件地更改django模板变量 tl;博士,django,django-templates,Django,Django Templates,我需要一个模板变量来改变连接字符串的方式 我的问题 我在模板中循环查询集,在循环中检查对象上的某些字段是否与当前用户匹配。如果是这样,那么我的变量将发生变化,并最终作为类应用于元素 {% for item in items %} {% with class="" %} {% if request.user == item.field1 %} /* append to class variable, ex: class=" field1" */

我需要一个模板变量来改变连接字符串的方式

我的问题 我在模板中循环查询集,在循环中检查对象上的某些字段是否与当前
用户匹配。如果是这样,那么我的变量将发生变化,并最终作为
类应用于元素

{% 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.user
仅等于
item.field2
,则我的元素如下所示:

<div class=" field1 field2"></div>
<div class=" field2"></div>

在Django模板语言中不能这样做。你可以写一个标签,但我不明白你为什么要写;你可以直接在线完成整个过程

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

我将类传递到的实际上是一个
include
标记,而不是
div
。这就是为什么我没有做内联。我要做的就是改变我的做法,这样做。