由于Jinja2
有阻止使用{% block _name_ %}{% endblock %}
将模板拆分为单独的文件,我想在Flask
上实现它应该相当容易,但我无法将头脑包裹起来在它周围。
我有这个结构:
daddy_template.html
son.html
daughter.html
所有模板大致包含以下内容:
<!-- daddy_template.html -->
<div id="son">{% block son %}{% endblock %}</div>
<div id="daughter">{% block daughter %}{% endblock %}</div>
<!-- son.html -->
{% extends "daddy_template.html" %}
{% block son %}
<p>Knock, knock</p>
{% endblock %}
<!-- daughter.html -->
{% extends "daddy_template.html" %}
{% block daughter %}
<p>Who is it?</p>
{% endblock %}
我只知道Flask中的render_template()
来准备一个模板,并且一次只需要一个模板,所以除了函数参数中提供的一个块之外的所有模板。
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def daddy():
return render_template('son.html')
那你怎么吃蛋糕然后吃呢?在这种情况下,在呈现时将son.html
和daughter.html
都包含在daddy_template.html
中?