【发布时间】:2019-09-04 21:26:48
【问题描述】:
我正在尝试在 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 %}
导航.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。 我不确定,而且我已经厌倦了把头埋在桌子上。
【问题讨论】:
-
所以你是说你正在渲染
navigation.html,但<nav>没有显示?如果是这样,我同意这种情况永远不会发生。我们能否查看渲染模板的 Python 代码,以检查它是否真的渲染了您期望的模板?