Django块标记无效:'else',预期'endblock'

时间:2012-06-04 06:40:04

标签: python django

好的,所以我还是django的新手并且在个人项目上使用它。我收到以下代码的错误:

{% extends "base.html" %}
{% block content %}
    <h1>Website News</h1>
    <% if news_items|length > 0 %>
        {% for post in news_items %}
            <h1>{{post.title}}</h1>
            {% autoescape off %}
                {{post.content}}
            {% endautoescape %}
        {% endfor %}
    {% else %}
        <h1>There are no posts currently</h1>
    {% endif %}
{% endblock %}

显然它不喜欢我的if statemtent中的{%else%}。我已经做了大量的搜索并发现了一些类似的问题,但他们的问题都与嵌套不正确的块或错误的字符有关。我已经检查了一堆文档,除了django抱怨之外,我的代码找不到任何问题。

有什么想法吗?

2 个答案:

答案 0 :(得分:9)

你有

<% if news_items|length > 0 %>

而不是:

{% if news_items|length > 0 %}

在您的代码中,这不是正确的模板标记。

答案 1 :(得分:2)

如果您正在尝试使用&#34;如果&#34;你必须将它放在{% %}块内。