gpt4 book ai didi

python - Jinja2 和 Flask : Pass variable into parent template without passing it into children

转载 作者:太空狗 更新时间:2023-10-30 00:26:37 25 4
gpt4 key购买 nike

假设我有一个基本模板,其中包含一个 header ,该 header 的内容需要传递到模板中。

<header>
You are logged in as {{ name }}
</header>

这个基本模板被扩展了很多页面。我如何传递该变量而不将其传递给每个 child ?例如,我不想必须这样做:

render_template("child1.html", name=user.name)
render_template("child2.html", name=user.name)
render_template("child3.html", name=user.name)
etc...

因为谁知道我可能有多少个子页面。感觉不够干。

我从来没有真正渲染过基本模板,只有它的子模板,但我不知道如何传递数据。

有没有办法做到这一点?我不应该使用继承吗?

最佳答案

我建议你在 flask 中使用全局变量“g”。这在 jinja 模板中默认可用。因此,您无需担心将其传递到基本模板或子模板中的任何位置。只需确保您在登录时先设置它

g.username = user.name

然后在模板中,这样做:

You are logged in as {{ g.username }}

关于python - Jinja2 和 Flask : Pass variable into parent template without passing it into children,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com