如果语句在第127行抛出TemplateSyntaxError无效的块标记:“ else”,预期为“空”或“ endfor”

时间:2019-10-06 23:41:46

标签: python django django-models django-templates django-views

我正在尝试制作django应用,但遇到以下错误:

  

异常类型:TemplateSyntaxError异常值:无效的块   第127行的标记:“ else”,预期为“空”或“ endfor”。你忘了吗   注册或加载此标签?

我已经检查了代码,并且在模板文件中找不到任何错字,但是模板正常加载而没有以下几行:

    {% endif %} {% for i in listings.paginator.page_range %} {% if
listings.number == i %}
    <li class="page-item active">
        <a class="page-link">{{ i }}</a>
    </li>
 {% else %}
    <li class="page-item">
       <a href="?page={{ i }}" class="page-link">{{ i }}</a>
    </li>
 {% endif %} {% endfor %}

该应用程序的全部代码都在此github存储库的listings文件夹中: https://github.com/twheelertech/btre_project

我有关模板的代码在这里: https://github.com/twheelertech/btre_project/blob/master/templates/listings/listings.html

我在清单应用中检查了models.py和views.py,但它们的格式似乎正确。

我正在使用Windows 10,python 3.7.3,django 2.2.6

感谢您的帮助。 :)

1 个答案:

答案 0 :(得分:2)

Django does not support multi-line tags,您的问题是,初始的“ if”标签中间有新行

{% endif %} {% for i in listings.paginator.page_range %} {% if
listings.number == i %}

尝试将每个标签保持在一行上,每行包含一个标签

{% for foo in bar %}
    {% if foo.baz %}
    {% else %}
    {% endif %}
{% endfor %}