【问题标题】:TemplateSyntaxError: 'if' statement improperly formattedTemplateSyntaxError:“if”语句格式不正确
【发布时间】:2011-06-21 09:41:43
【问题描述】:
    {% for frequency in patient_meds.frequency %}
            {% if frequency == "7" %}
            <td>Hellow</td>
            {% endif %}
    {% endfor%}

遇到错误

TemplateSyntaxError: 'if' 语句格式不正确

我不知道该怎么办,请帮帮我...

【问题讨论】:

  • 你使用哪个 django 版本?

标签: python django google-app-engine


【解决方案1】:

如果您使用的是应用引擎 (v0.96) 中包含的默认 Django 版本,请尝试以下语法:

{% for frequency in patient_meds.frequency %}
        {% ifequal frequency "7" %}
            <td>Hellow</td>
        {% endif %}
{% endfor%}

【讨论】:

  • 也发生在我身上,注意它实际上应该是 {% endifequal %} 才能工作。
【解决方案2】:

{% if %} 标记中的== 语法仅在 Django 1.2 版以后可用:)

【讨论】:

    【解决方案3】:

    为了能够在{% if %} 语句中使用== 语法,您需要使用Django 1.2 或更高版本。

    Django 1.2 附带您的 GAE SDK,但默认加载 0.96。

    您可以使用 django 的 1.2 版本,通过声明您想要使用的 third-party library 的版本以及 google.appengine.dist 包提供的 use_library() 函数。只需将此代码放在 python 文件的最顶部(至少在从 django 导入任何内容之前:

    from google.appengine.dist import use_library
    use_library('django', '1.2')
    

    这样,您的模板应该可以很好地呈现。

    【讨论】:

      【解决方案4】:

      语法应该是endifequal:

      {% for frequency in patient_meds.frequency %}
          {% ifequal frequency "7" %}
              <td>Hellow</td>
          {% endifequal %}
      {% endfor%}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-07
        • 2022-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多