Django-{%if%}块中的模板标记

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (44)

我将以下字典传递给呈现函数,其中源是字符串列表,标题是一个字符串,可能等于源中的字符串之一:

{'title':title, 'sources':sources})

在HTML模板中,我想在以下几行中完成一些任务:

{% for source in sources %}
  <tr>
    <td>{{ source }}</td>
    <td>
      {% if title == {{ source }} %}
        Just now!
      {% endif %}
    </td>
  </tr>
{% endfor %}

但是,以下文本块会导致错误:

TemplateSyntaxError at /admin/start/
Could not parse the remainder: '{{' from '{{'

...{% if title == {{ source }} %}用红色突出显示。

提问于
用户回答回答于

你不应该使用双括号{{ }}语法ififequal语句中,可以像在普通python中那样简单地访问变量:

{% if title == source %}
   ...
{% endif %}
用户回答回答于
{% for source in sources %}
  <tr>
    <td>{{ source }}</td>
    <td>
      {% ifequal title source %}
        Just now!
      {% endifequal %}
    </td>
  </tr>
{% endfor %}

                or


{% for source in sources %}
      <tr>
        <td>{{ source }}</td>
        <td>
          {% if title == source %}
            Just now!
          {% endif %}
        </td>
      </tr>
    {% endfor %}

扫码关注云+社区