Как вывести данные в определенный html DOM элемент в шаблонах Django?

Я распечатываю список дел в шаблоне в приложении todo-list. Все работает хорошо, но я хотел бы, чтобы блок <p>No deeds here yet</p> находился вне списка ul, поскольку ему не нужно быть в списке, так как это логически отдельный блок. Кроме того, у него появляется отступ, который мне не нужен.

Как разместить элемент абзаца вне списка ul?

{% extends "todo_lists/base.html" %}
{% block content %}
    <h2>Deeds of a {{list_title}} list</h2>
    <ul>
        {% for deed in deeds %}
            <li>{{deed.title}}</li>
        {% empty %}
            <p>No deeds here yet</p>
        {% endfor %}
    </ul>
   
{% endblock content %}

Вы сначала проверяете правдивость, прежде чем войти в <ul>:

{% extends "todo_lists/base.html" %}
{% block content %}
    <h2>Deeds of a {{list_title}} list</h2>
    {% if deeds %}
     <ul>
        {% for deed in deeds %}
            <li>{{deed.title}}</li>
        {% endfor %}
      </ul>
    {% else %}
      <p>No deeds here yet</p>
    {% endif %}
{% endblock content %}

Вы можете использовать логику if, чтобы определить, отображать ли список или сообщение, в зависимости от того, есть ли дела.

{% extends "todo_lists/base.html" %}
{% block content %}
    <h2>Deeds of a {{ list_title }} list</h2>
    
    {% if deeds %}
        <ul>
            {% for deed in deeds %}
                <li>{{ deed.title }}</li>
            {% endfor %}
        </ul>
    {% else %}
        <p>No deeds here yet</p>
    {% endif %}
   
{% endblock content %}
Вернуться на верх