1

由于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 %}

转折

我只知道render_template()在 Flask 中准备一个模板,并且一次只需要一个模板,所以这省略了函数参数中提供的一个块之外的所有块。

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def daddy():
    return render_template('son.html')

声望

那么你怎么吃你的蛋糕呢?在这种情况下,在渲染时是否同时包含son.html和?daughter.htmldaddy_template.html

4

1 回答 1

5

查看包含语句而不是使用块。

于 2013-03-19T16:05:50.580 回答