Если оператор выбрасывает TemplateSyntaxError Неверный тег блока в строке 127: «else», ожидаемый «empty» или «endfor» - PullRequest
1 голос
/ 07 октября 2019

Я пытаюсь создать приложение django, но у меня возникает следующая ошибка:

Тип исключения: TemplateSyntaxError Значение исключения: недопустимый тег блока в строке 127: «else», ожидается «empty»или 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 в папке списков: https://github.com/twheelertech/btre_project

Мой код для рассматриваемого шаблона находится здесь: https://github.com/twheelertech/btre_project/blob/master/templates/listings/listings.html

IЯ проверил models.py и views.py в приложении листингов, но они, похоже, правильно отформатированы.

Я использую windows 10, python 3.7.3, django 2.2.6

Спасибоза помощь. :)

1 Ответ

2 голосов
/ 07 октября 2019

Django не поддерживает многострочные теги , ваша проблема в том, что ваш начальный тег "if" имеет новую строку в середине его

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

Попробуйте сохранить каждый тегна одной строке и с одним тегом на строку

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