gpt4 book ai didi

python - Flask - 如何在同一页上打印不同的变量

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:36 25 4
gpt4 key购买 nike

我正在尝试打印 Flask 中的条目列表、总条目和生成时间。在我的 python 代码中,我有:

def stream_template(template_name, **context):
app.update_template_context(context)
t = app.jinja_env.get_template(template_name)
rv = t.stream(context)
return rv

@app.route('/', methods=['POST'])
def get_data():
# Dong something here to prepare for data
total_entry = get_total_entry()
generated_time = get_generated_time()
entry_list = get_entry()
def blog_entries():
for entry in entry_list:
yield entry
return Response(stream_template('blog.html', data=blog_entries()))

我的 blog_entry() 为:(用于测试目的) 返回[for i in range(5)]

在 blog.html 中,我有:(为了测试的目的,让我们将每个条目视为一个 int)

{% for i in data: %}
<br>Entry: {{ i }}</br>
{% endfor %}

结果,我会得到所有条目的列表。但是,我还想在打印条目之前和同一页上打印出total_entry 和 generated_time 。我应该如何更改我的 python 代码和 html 模板?

例如:我想要这样的东西:

Total entry: 5
Generated time: 0.001
Entry: 1
Entry: 2
Entry: 3
Entry: 4
Entry: 5

非常感谢!

最佳答案

只需将变量作为 **context 关键字参数传递即可。这应该可行,但我还没有测试过。

这是 stream_template 的文档.

@app.route('/', methods=['POST'])
def get_data():
# Dong something here to prepare for data
def blog_entries():
for entry in get_entry():
yield entry
return Response(stream_template('blog.html',
data=blog_entries(),
total_entries=get_total_entry(),
gen_time=get_generated_time()))

Jinja2 模板。将格式更改为列表。您可以使用正确的名称访问 Jinja2 模板中的 **context 关键字参数。

<ul>
<li>Total entries: {{ total_entries }}</li>
<li>Generated time: {{ gen_time }}</li>
{% for i in data: %}
<li>Entry: {{ i }}</li>
{% endfor %}
</ul>

关于python - Flask - 如何在同一页上打印不同的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21823448/

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