我正在学习模板继承,我有点困惑。当我导航到 时index.html
,我希望标题出现在浏览器的选项卡上。我希望将此功能内置到base.html
我从中继承的文件中,这样只需将参数标题(和 html 文件名)传递给函数index
,app.py
即可如上所述执行。
由于某种原因,代码没有按预期运行;标题不在浏览器选项卡上。
应用程序.py:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html',title='index')
if __name__ == "__main__":
app.run(debug=True)
索引.html:
<!DOCTYPE html>
{%extends "base.html"%}
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
</head>
<body>
</body>
</html>
base.html:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
{%block head%}
{% if title %}
<title> {{title}} </title>
{%endif%}
{%endblock%}
</head>
<body>
{%block body%}{%endblock%}
</body>
</html>
index.html 和 base.html 都可以在模板文件夹中找到,这是 jinja 运行所必需的。没有触发错误,标题根本没有按预期格式化。
我究竟做错了什么?