我正在尝试为我的网站制作一个基本模板。理想情况下,它看起来像这个
{% block navigationbar %}{% endblock %}
{% block content %}{% endblock %}
{% block footer %}{% endblock %}
通过这种方式,我可以拥有单独的navigationbar.html和footer.html文件。我想展示的所有观点都会这样说:
{% extends 'portfolio/base.html' %}
{% block content %}
// View Code here
{% endblock %}
任何实现这一点的方法。我已经意识到我不能进行多次扩展,我尝试了不同的嵌套组合,但到目前为止还没有任何效果。
所以理想的结果是4个文件。主页:
- NavigationBar.html-保存导航条形码
- Footer.html-保存页脚代码
- Base.html-包含导航栏、页脚和内容
- Home.html-保存主页的内容,但当它加载时,用户会看到导航栏和页脚
您可以使用include加载模板并使用当前上下文进行渲染。这是一种在模板中"包含"其他模板的方式。
此示例包括模板上的模板"NavigationBar.html"one_answers"Footer.html"的内容:
{% extends 'portfolio/base.html' %}
{% block content %}
{% include "NavigationBar.html" %}
// View Code here
{% include "Footer.html" %}
{% endblock %}
您还可以使用参数将附加上下文传递给模板:
{% include "NavigationBar.html" with breadcrumb="home > wherever" %}