Flask:如何将值传递到base.html?

Flask:如何将值传递到base.html?,flask,jinja2,Flask,Jinja2,一些数据需要存在于所有模板中 如何将所需数据传输到base.html 对于普通模板,我使用render()函数 我不明白如何将其应用于基本模板,因为它不会传递到render() base.html 等等 {{balance}}-它应该显示在启用此base.html的所有页面上 为此,我需要在每个函数中为每个页面传递一个balance对象。如何使其在所有页面中只能传输一次?base.html文件用作其他html文件的模板。您不需要从应用程序中将其呈现为模板。相反,您将base.html作为其他ht

一些数据需要存在于所有模板中

如何将所需数据传输到base.html

对于普通模板,我使用
render()
函数

我不明白如何将其应用于基本模板,因为它不会传递到
render()

base.html 等等

{{balance}}
-它应该显示在启用此base.html的所有页面上


为此,我需要在每个函数中为每个页面传递一个
balance
对象。如何使其在所有页面中只能传输一次?

base.html文件用作其他html文件的模板。您不需要从应用程序中将其呈现为模板。相反,您将base.html作为其他html文件的扩展

在base.html文件中显示变量没有限制。下面的例子应该会有所帮助

base.html

<html>
    <head>
        <title>{{ title }}</title>
    </head>
<body> 

{% block content %}
 
{% endblock %}

</body>
</html>
{% extends "base.html" %}
{% block content %}
<h1>Homepage</h1>
{% endblock %}

您好,您是否介意添加一些详细信息或代码,向我们展示您尝试过的内容和未成功的内容,以及您想要的输出内容。@monsieuralfonse64已更新,谢谢。这就是问题所在。您需要为每一页传递一个标题。这很不方便,而且代码重复。我需要为整个站点传递一次。例如,在Django中,它被称为context_processor,Jinja2也有context processor,而且,还有一些对象可用于任何模板。Flask登录的当前用户就是其中之一,所以如果balance是
当前用户.balance
,您可以在任何模板中使用它。我会小心的<代码>当前用户可能是
是否用户尚未登录。这就是为什么我不喜欢基本模板中的用户数据的整个概念-但那只是我:-)
<html>
    <head>
        <title>{{ title }}</title>
    </head>
<body> 

{% block content %}
 
{% endblock %}

</body>
</html>
{% extends "base.html" %}
{% block content %}
<h1>Homepage</h1>
{% endblock %}
from flask import Flask,render_template
app = Flask(__name__)

@app.route("/")
def index():
    title = "Homepage"
    
    return render_template('index.html',
    title = title)


if __name__ == '__main__':
    app.run(debug=True)