我想将另一个模板扩展到我的blog.html,无论我是否尝试扩展它,它都不起作用。 博客/ 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>
轮询/ index.html中
{% 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 %}
答案 0 :(得分:0)
通常,扩展必须停留在模板的顶部而不是模板中的某个位置。 在模板中,您可以使用在基本模板中设置的标记。
答案 1 :(得分:0)
你需要确保在这里做两件事:
extends
时覆盖的索引html部分。您放入索引html中“nav”块内的任何内容都将被视为默认内容。像这样:
index.html
{% block nav %}
<div>
Some default html here..
</div>
{% endblock %}
然后blog.html
{% extends index.html %}
{% block nav %}
<div>
This is what will render
</div>
{% endblock %}
此外,在尝试扩展它以验证django是否找到该模板之前,您将要测试index.html
。如果不是,则需要将找到的目录添加到TEMPLATE_DIRS
文件中的settings.py
数组中。