我知道如何在访问 URL 时使用 render_template 从 Python 发送一些纯文本:
@app.route(/success.html")
...
return render_template("index.html", text="This text goes inside the HTML")
模板会是这样的:
<div class="output">
{{text|safe}}
</div>
但是,当我需要插入几行 HTML 时,我不确定该怎么做。例如一个表格:
<form action="">
<input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car
</form>
如果我将它作为字符串加载到 Python 脚本中并将其发送到模板,它可能会起作用,但这听起来不太正确。
任何人都知道如何正确地将 HTML 插入 Flask 网页?一个虚拟的例子也很好。
原文由 multigoodverse 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 Jinja2
{% include %}
指令。所以你会把你的表单放在它自己的模板中,称为
your_form.html
内容:然后在你的
index.html
包括它Jinja2 中的动态变量
引用 文档
很简单:
如果您使用的是旧版本,这里有一个简单的方法
只是为了说明它的灵活性,这里有一些例子可以给你灵感
您也可以像这样设置一个 Jinja 变量(IMO 更冗长)
安全提示: 确保您确切知道作为变量传递的内容
html_file
,因为它是动态的,如果该值来自客户端,您可能会暴露自己的文件