Django 将其他应用程序扩展到我的模板工作
我想将另一个模板扩展到我的blog.html,无论我是否尝试扩展它,它都不起作用。 blog/index.htmlDjango 将其他应用程序扩展到我的模板工作,django,Django,我想将另一个模板扩展到我的blog.html,无论我是否尝试扩展它,它都不起作用。 blog/index.html {% block nav %} <ul id="nav"> <li>{% block nav-blog %}<a href="/blog/">Blog</a>{% endblock %}</li> <li>{% block nav-photo %}<a href="
{% block nav %}
<ul id="nav">
<li>{% block nav-blog %}<a href="/blog/">Blog</a>{% endblock %}</li>
<li>{% block nav-photo %}<a href="/photo/">Photo</a>{% endblock %}</li>
</ul>
{% endblock %}
<div class="news">
{% block polls %}
{% extends 'polls/index.html' %}
{% endblock %}
<div>
{% if latest_poll_list %}
<ul>
{% for poll in latest_poll_list %}
<li><a href="{% url 'polls:detail' poll.id %}">{{ poll.question }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
{%block nav%}
{%endblock%}
{%block polls%}
{%extends'轮询/index.html%}
{%endblock%}
polls/index.html
{% block nav %}
<ul id="nav">
<li>{% block nav-blog %}<a href="/blog/">Blog</a>{% endblock %}</li>
<li>{% block nav-photo %}<a href="/photo/">Photo</a>{% endblock %}</li>
</ul>
{% endblock %}
<div class="news">
{% block polls %}
{% extends 'polls/index.html' %}
{% endblock %}
<div>
{% if latest_poll_list %}
<ul>
{% for poll in latest_poll_list %}
<li><a href="{% url 'polls:detail' poll.id %}">{{ poll.question }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>No polls are available.</p>
{% endif %}
{%if-latest\u poll\u list%}
{最新轮询列表%中的轮询百分比}
{%endfor%}
{%else%}
没有投票
{%endif%}
通常必须将扩展卡在模板顶部,而不是模板中的某个位置。
在模板中,使用在基础模板中设置的标记 您需要确保在这里做两件事:
扩展它时,您希望覆盖的索引html部分。您在索引html的“nav”块中放置的任何内容都将被视为默认内容
index.html
{% block nav %}
<div>
Some default html here..
</div>
{% endblock %}
{% extends index.html %}
{% block nav %}
<div>
This is what will render
</div>
{% endblock %}
此外,在尝试扩展它以验证django是否找到该模板之前,您还需要测试
index.html
。如果不是,那么您需要将找到它的目录添加到settings.py
文件中的TEMPLATE\u DIRS
数组中。是的,没错,但是如果我放在页面顶部,它不会显示为嗯,那么请确保您可以访问模板而不扩展它,还要确保在设置文件中正确设置了这些模板路径。