jinja2 块不在模板中呈现
jinja2 blocks not rendering in template
好的,这就像一个新手问题,但我正在使用 Flask 尝试使用 Jinja 进行模板继承。
我 运行 遇到的问题是我的块不会在我的 base.html 模板中呈现。
这是我的base.html
代码:
<!doctype html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
{% block body %}{% endblock %}
<h2>From Layout</h2>
</body>
</html>
这是我的 index.html 扩展 base.html
{% extends "base.html" %}
{% block title %} Home {% endblock %}
{% block content %}
<h1> Welcome home {name}</h1>
{% endblock %}
这是我的主要 Flask 文件,我 运行 我的应用来自:
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/')
@app.route('/<name>')
def index(name="Mark"):
return render_template('index.html', name=name)
我错过了什么吗?似乎无法弄清楚我做错了什么。
您的索引文件有 "block content",但您的基础文件有 "block body"。选择其中之一,但要保持一致。
一旦你解决了这个问题,你还需要修复你显示名称的方式:变量语法是 {{ name }}
,而不是 {name}
。
好的,这就像一个新手问题,但我正在使用 Flask 尝试使用 Jinja 进行模板继承。
我 运行 遇到的问题是我的块不会在我的 base.html 模板中呈现。
这是我的base.html
代码:
<!doctype html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
{% block body %}{% endblock %}
<h2>From Layout</h2>
</body>
</html>
这是我的 index.html 扩展 base.html
{% extends "base.html" %}
{% block title %} Home {% endblock %}
{% block content %}
<h1> Welcome home {name}</h1>
{% endblock %}
这是我的主要 Flask 文件,我 运行 我的应用来自:
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/')
@app.route('/<name>')
def index(name="Mark"):
return render_template('index.html', name=name)
我错过了什么吗?似乎无法弄清楚我做错了什么。
您的索引文件有 "block content",但您的基础文件有 "block body"。选择其中之一,但要保持一致。
一旦你解决了这个问题,你还需要修复你显示名称的方式:变量语法是 {{ name }}
,而不是 {name}
。