在渲染模板中将变量从python(flask)传递给HTML?

Posted

技术标签:

【中文标题】在渲染模板中将变量从python(flask)传递给HTML?【英文标题】:Pass Variable from python (flask) to HTML in render template? 【发布时间】:2017-12-22 07:07:30 【问题描述】:

网络服务器工作(python烧瓶)但是当我去网站时,动物的值应该是(狗)它显示变量名动物。 (代码还有更多内容,但这是最简单的版本,也是相同的概念。

假设我在运行 python flask 的 python 脚本中有这些代码行。

animal = dog
return render_template('index.html', value=animal)

在我的 HTML 中

<h3>I like the animal:  value <h3>

但不是显示“狗”,而是显示变量名称“动物”。那么我将如何将 Python 变量显示为 HTML 呢?谢谢

【问题讨论】:

我需要查看更多代码。我相信这应该有效,除非 dog == 'animal' 不,由于某种原因它不起作用,它只显示“动物”而不是“狗” 我需要查看dog 的定义位置。正如您所展示的,dog 是另一个变量。除非您打算输入animal = 'dog'。如果您使用整个视图编辑代码,则更容易告诉您。因为事实上,这是正确的。 有没有办法在url_for 参数中得到这个? value 应用此方法的一个好方法是创建一个输入并使用 value 属性中的值,如示例中所示。 【参考方案1】:

不应该是animal = 'dog'吗?如果 'dog' 是您希望在“I like the animal:”之后看到的打印值,那么您需要执行以下操作:

animal = 'dog'
return render_template('index.html', value=animal)

【讨论】:

有没有办法在url_for 参数中得到这个?与 value @Dev 是的,与此示例一起使用,使用 url_for('static', filename=value) 假设该值设置为您的预期 url 目标【参考方案2】:

由于您必须使用变量传递值,因此您必须将其定义为字符串,例如: animal = 'dog' 然后将其传递给 html 模板: return render_template('index.html', value=animal)

现在,您应该在 HTML 中看到传递的值。

【讨论】:

有没有办法在url_for 参数中得到这个?与 value

以上是关于在渲染模板中将变量从python(flask)传递给HTML?的主要内容,如果未能解决你的问题,请参考以下文章

Python - Flask:如何在渲染之前分配变量?

如何在python flask app中将数据从postgresql渲染到csv?

Python Flask 从像 render_template 这样的变量渲染文本

在流星中将变量从父模板传递到子模板

在django中将动态变量从父模板传递给子模板

Python中Flask框架的变量和函数