【发布时间】:2020-09-16 00:29:51
【问题描述】:
我正在学习模板继承,我有点困惑。当我导航到index.html 时,我希望标题出现在浏览器的选项卡上。我希望将此功能内置到我继承自的base.html 文件中,这样app.py 上的函数index 只需传递参数标题(和html文件名)即可执行为如上所述。
由于某种原因,代码未按预期运行;标题不在浏览器选项卡上。
app.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)
index.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 运行所必需的。没有触发任何错误,只是标题没有按预期格式化。
我做错了什么?
【问题讨论】:
标签: python flask layout template-inheritance