django中有多个base.html模板可以吗?例如,我会有一个从base_one.html扩展的模板和另一个从base_two.html扩展的模版
{% extends "base_one.html" %}
{% block content %}
{% endblock content %}
这是另一个模板:
{% extends "base_two.html" %}
{% block content %}
{% endblock content %}
不仅仅是两个,你可以用不同的名称来保持你想要的数量,你必须在不同的模板上进行扩展,但是的,你可以很容易地保留基本模板的部分,并根据你的需要在一个模板中进行扩展。
我在这里添加了三个文件1-base.html 2-base-comments.html-3-st-template.html
以下是我的答案的一个小扩展假设这个文件名是base.html
# base.html
<html>
<head>
<title>Foo</title>
</head>
<body>
<header>
{% block header %}
<h1>Lorem ipsum</h1>
{% endblock %}
</header>
{% block content %}{% comment %}A wrapper around content is needed{% endcomment %}
<div class="page-content">
{% block page_content %}{% comment %} Filled in by your page templates {% endcomment %}
{% endblock %}
</div>
{% endblock %}
<footer>
{% block footer %}
<em>♥ joar</em>
{% endblock footer %}
</footer>
</body>
</html>
这是另一个文件basecomments.html,它扩展了上一个文件。
# base-comments.html
{% extends 'base.html' %}
{% block content %}
<div class="page-content">
{% block page_content %}{% comment %} Filled in by your page templates {% endcomment %}
{% endblock %}
{% block comments %}
<footer>
<h2>Comments</h2>
<script>loadCommentsEtc()</script>
</footer>
{% endblock %}
</div>
{% endblock %}
这是最后一个扩展第二个基本文件的文件,它已经扩展了第一个基本文件3-pst-template.html
# post-template.html
{% extends 'base-comments.html' %}
{% block page_content %}
<article>
<h1>{{ post.title }}</h1>
<div class="post-body">
{{ post.body }}
</div>
</article>
{% endblock %}
我希望这能起作用,消除你的疑虑。谢谢你的提问。