Блок django не отображается
Я хочу добавить навигационную панель, сообщения и содержание в файл base.html, правильно ли это? Я также хочу, чтобы профиль был продолжением navbar, чтобы при наведении на кнопку профиля из navbar всплывал профиль. Пока что я не могу увидеть navbar с блоком, но он работает с include.
base.html
{% block nav %}'
{% endblock nav%}
{% block messages %}
{% endblock messages %}
{% block content %}
{% endblock content %}
navbar.html, должен ли я использовать здесь включение профиля или блок профиля?
{% extends 'app/base.html' %}
{% block nav%}
// some more code here..
<li class="nav-item dropdown position-static">
<a class="nav-link dropdown-toggle" href="#" id="dropdown04" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">Profile</a>
<div class="dropdown-menu p-4" aria-labelledby="dropdown04">
{% include 'users/profile.html' %}
</div>
</li>
{% endblock nav%}
messages.html
{% extends 'app/base.html' %}
{% block messages %}
{% if messages %}
{% for message in messages %}
<div class="alert alert-{{ message.tags }}">
{{ message }}
</div>
<div class="swal2-icon swal2-error swal2-animate-error-icon" style="display: flex;"><span class="swal2-x-mark"><span class="swal2-x-mark-line-left"></span><span class="swal2-x-mark-line-right"></span></span>
</div>
{% endfor %}
{% endif %}
{% endblock messages %}
Если вы хотите объявить в шаблоне блок кодирования, который может быть переопределен дочерним шаблоном, вы можете использовать тег block-
{% block sidebar %}
<ul>
<li><a href="/">Home</a></li>
<li><a href="/blog/">Blog</a></li>
</ul>
{% endblock %}
С другой стороны, если вы хотите загрузить шаблон внутри другого шаблона, вам следует использовать тег include.
{% include "nav.html" %}
Вы не должны помещать тег include внутрь блочного тега, если не хотите использовать разные navbar для разных шаблонов. Так что в вашем случае-
{% include "nav.html" %}
{% block messages %}
{% if messages %}
{% for message in messages %}
<div class="alert alert-{{ message.tags }}">
{{ message }}
</div>
<div class="swal2-icon swal2-error swal2-animate-error-icon" style="display: flex;"><span class="swal2-x-mark"><span class="swal2-x-mark-line-left"></span><span class="swal2-x-mark-line-right"></span></span>
</div>
{% endfor %}
{% endif %}
{% endblock messages %}
{% block content %}
{% endblock content %}