Неверный блочный тег в строке 7: 'endif', ожидалось 'empty' или 'endfor'. Вы забыли зарегистрировать или загрузить этот тег?

Я новичок в html-шаблонах и Django.

author_list.html

{% extends "base_generic.html" %}
{% block content %}
<h1>All authors</h1>
<ul>
    {% for author in author_list %}
    <li><a href="">{{ author.last_name }}:</a> {% for book in author.book_set.all %} {{ book.title }} {% if not
        forloop.last %}, {% endif %}{% endfor %}</li>
    {% endfor %}
</ul>
{% endblock %}

Ошибка: Недопустимый блочный тег в строке 7: 'endif', ожидалось 'empty' или 'endfor'. Вы забыли зарегистрировать или загрузить этот тег?

У меня есть блок кода. Он работает без блока if, но не работает с условным. Как это исправить. Помогите! Нужно вставить "," после каждого названия книги.

Вы должны не писать теги шаблонов на нескольких строках. Тег шаблона должен начинаться (с {%) и заканчиваться (с %}) на одной строке. В противном случае парсер языка шаблонов Django выдаст ошибку. Таким образом, вы должны переписать это так:

{% extends "base_generic.html" %}
{% block content %}
<h1>All authors</h1>
<ul>
    {% for author in author_list %}
    <!--                                                                                                 same line ↓ -->
    <li><a href="">{{ author.last_name }}:</a> {% for book in author.book_set.all %} {{ book.title }} {% if not forloop.last %}, {% endif %}{% endfor %}</li>
    {% endfor %}
</ul>
{% endblock %}
Вернуться на верх