Django / Webapp2中for循环中的简单if if elif语句问题

时间:2014-03-27 10:21:48

标签: django django-templates webapp2

我试图在for循环中使用一个相对简单的if ifif语句,但它似乎抛出一个错误。这是我正在使用的语法

{% for ruleset in rulesets %}
<!-- some simple html / template tags come here -->
{% for rule in rules %}
  {% if rule.0 = ruleset.0 and rule.2 = 1 %}
    {{ rule.1 }}: {{ rule.3 }} out of {{ rule.4 }} points above {{ rule.5 }} sigma
  {% elif rule.0 = ruleset.0 and rule.2 = 2 %}
    {{ rule.1 }}: {{ rule.3 }} out of {{ rule.4 }} points below {{ rule.5 }} sigma
  {% endif %}
{% endfor %}
{% endfor %}

还有一些我想要合并的规则,所以我不能只使用else标记。

我得到的错误是: TemplateSyntaxError:无效的块标记:&#39; elif&#39;,expect&#39; else&#39;或者&#39; endif&#39;

有关如何解决此问题的任何建议?我在某些时候也使用了嵌套的if子句,但是也遇到了类似的错误。

2 个答案:

答案 0 :(得分:2)

自django 1.4起支持

elif

可能是您使用的是较旧版本的django。

请参阅我对=符号的评论,该==符号应该ifequal按预期评估为True或False。或者,您可以使用{{1}}模板标记。

答案 1 :(得分:1)

版本1.4(Django 1.4 release notes)中的elif语句已添加到Django中。

如果您使用较旧的Django版本,则必须升级到较新版本或使用嵌套的if / else语句。