Flask 从字典创建表单
Flask Create Form from Dictionary
最近开始使用 Flask。目前,我有一个程序可以在 docx 文件中搜索 {{}} 标签并将它们添加到最终如下所示的字典中。
{
‘{{name}}’:’John’,
‘{{address}}’:’’,
‘{{zip}}:’’
}
我想要一个显示关键字段名称的页面,以及一个用于输入每个字段的表单。如果有一个值,即 John,则应预先填充这些值。用户应该能够改变这一点。显然,空白值将是空白,等待用户输入。
字典的长度会有所不同(可能是 5,可能是 20 个字段名称。)
如何解决这个问题?不确定这是否称为动态表单生成?
谢谢
所以我想太多了,并试图用 WTForms 将方形钉子强行插入三角形孔中。
解决方法很简单。利用 jinja2 模板引擎为字典中的每个键值对创建表单和输入元素。
<!DOCTYPE html>
<html>
<link rel= "stylesheet" type= "text/css" href="{{ url_for('static',filename='stylesheets/style.css') }}" />
{% block content %}
<h1>Enter your values below</h1>
<form id = "form1" action="" method="post" novalidate>
{{ form.hidden_tag() }}
{% for line in form.lines %}
<label>{{line}}:</label> <input type="text" name=values>
{% endfor %}
<input type="submit" value = "Submit">
</form>
{% endblock %}
</html>
最近开始使用 Flask。目前,我有一个程序可以在 docx 文件中搜索 {{}} 标签并将它们添加到最终如下所示的字典中。
{
‘{{name}}’:’John’,
‘{{address}}’:’’,
‘{{zip}}:’’
}
我想要一个显示关键字段名称的页面,以及一个用于输入每个字段的表单。如果有一个值,即 John,则应预先填充这些值。用户应该能够改变这一点。显然,空白值将是空白,等待用户输入。
字典的长度会有所不同(可能是 5,可能是 20 个字段名称。)
如何解决这个问题?不确定这是否称为动态表单生成?
谢谢
所以我想太多了,并试图用 WTForms 将方形钉子强行插入三角形孔中。
解决方法很简单。利用 jinja2 模板引擎为字典中的每个键值对创建表单和输入元素。
<!DOCTYPE html>
<html>
<link rel= "stylesheet" type= "text/css" href="{{ url_for('static',filename='stylesheets/style.css') }}" />
{% block content %}
<h1>Enter your values below</h1>
<form id = "form1" action="" method="post" novalidate>
{{ form.hidden_tag() }}
{% for line in form.lines %}
<label>{{line}}:</label> <input type="text" name=values>
{% endfor %}
<input type="submit" value = "Submit">
</form>
{% endblock %}
</html>