Как вывести данные в определенный 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 %}