我正在尝试在Flask(以前熟悉django)中建立一个网站,而我在使模板正确呈现方面遇到困难。
我有一个base.html,home.html和navigation.html。我的路线呈现了home.html模板,该模板扩展了base.html模板,并且工作正常。但是在我的base.html中,还有另一个块称为导航。我输入的导航文件似乎什么都没有呈现。
base.html
<DOCTYPE html>
<html>
<head>
<title>{% block title %} {% endblock %} </title>
</head>
<body>
{% block navigation %}
{% endblock %}
{% block content %}
{% endblock %}
</body>
</html>
home.html
{% extends 'base.html %}
{% block title %} lorem ipsum {% endblock %}
{% block content %}
<h1> Here is text </h1>
<p> Lorem ipsum paragraph </p>
{% endblock %}
navigation.html
{% extends 'base.html %}
{% block navigation %}
<nav>
insert any html here, I used a p tag
</nav>
{% endblock %}
无论导航是什么,我都无法在Navigation.html中显示任何内容。 在django中,我不记得有这个问题。 尽我所能,我假设我在渲染home.html而不是base.html,因此home.html可以使用base,但不能扩展到实际使用navigation.html的范围。 我不确定,我已经厌倦了将头伸到桌子上。
答案 0 :(得分:1)
在这里做一个假设,所以请澄清我是否弄错了。
我怀疑您的意思是{% include 'navigation.html' %}
中的index.html
(以及所有需要该通用导航的其他页面)。
在这种情况下,您可以从{% extends ... %}
中删除navigation.html
。