當我需要在 html 模板中使用大量 {%include%} (內容)時 - 每個內容包含是否會出現不必要的擴展?效果也適用于每個后續包含的內容......當我可以將內容包含添加到第一個 html 模板擴展器時,一切都很好。但是當我使用“分頁”時,我需要將“page=posts”發送到 paginator.html。我找不到辦法把這個變數從layout.html發送到blog.html...而且我認為將來我會遇到同樣的問題,因此應該解決它。
布局.html
<div class="container body-content">
<div id="content">
{% block content %}
{% endblock %}
</div>
</div>
<div class="container body-content">
<footer>
<hr/>
<p>© {{ year }}. Сайт</p>
</footer>
</div>
博客.html
{% extends "app/layout.html" %}
<!--?-->
{% block content %}
<h2>{{ title }}</h2><br>
{% for post in posts %}
<hr>
<div class="">
<h2> {{post.title}} </h2>
<p> {{post.posted}} </p>
</div>
<p>
<a href="{% url 'blogpost' parametr=post.id %}">{{ post.description }}</a>
</p>
{% endfor %}
{% include "app/pagination.html" with page=posts %}
{% endblock %}
分頁.html
{% extends "app/blog.html" %}
<!--?-->
{% block content %}
<div class="pagination">
<span class="step-links">
{% if page.has_previous %}
<a href="?page={{ page.previous_page_number }}">Предыдущая</a>
{% endif %}
<span class="current">
Страница {{ page.number }} из {{ page.paginator.num_pages }}
</span>
{% if page.has_next %}
<a href="?page={{ page.next_page_number }}">Следующая</a>
{% endif %}
</span>
</div>
{% endblock %}

uj5u.com熱心網友回復:
分頁應該是一個只呈現分頁內容的檔案,而不是圍繞它的模板。
因此,這意味著可以實作分頁沒有的{% extends "app/layout.html" %},所以:
{# pagination.html, no extends or block #}
<div class="pagination">
<span class="step-links">
{% if page.has_previous %}
<a href="?page={{ page.previous_page_number }}">Предыдущая</a>
{% endif %}
<span class="current">
Страница {{ page.number }} из {{ page.paginator.num_pages }}
</span>
{% if page.has_next %}
<a href="?page={{ page.next_page_number }}">Следующая</a>
{% endif %}
</span>
</div>
這將阻止pagination.html呈現頁眉、頁腳和其他內容。然后,您可以簡單地將分頁匯入為實用程式模板。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/338194.html
上一篇:'python-mpipinstall<package-name>'和'pipinstall<package-name>'之間的區別
