gpt4 book ai didi

python - 将 html 表单解析为 python/Flask 中的字典列表

转载 作者:行者123 更新时间:2023-11-28 03:36:14 25 4
gpt4 key购买 nike

我是网络编程的新手,这是我的第一个 SO 问题,所以希望我问的是正确的方法。我正在构建一个简单的调查制作工具(类似于谷歌表单或调查猴子),并且我有一个允许用户向问题添加选项的网络表单。每个选项都有两个字段,“标签”和“值”。表单如下所示:

    Option One
------------------ ------------------
Label: | | Value: | |
------------------ ------------------

Option Two
------------------ ------------------
Label: | | Value: | |
------------------ ------------------
...
...
... // user can "add option" and additional "rows" will appear in the form

[ SUBMIT ]

我使用了这样一个基本的网络表单:

<form class="well form" action="/submitform" method="post">
<p><input type="text" name="label_1">
<input type="text" name="value_1"></p>
<p><input type="text" name="label_2">
<input type="text" name="value_2"></br></p>
<p>... // and so forth, to support n sets of two fields
...
...
<button type="submit">Submit</button>
</form>

我成功获取了 request.form 并且可以访问字典中的每个变量。但当然这是一个单一的扁平字典:

[{'label_1': 'labelone', 'value1': 'valueone', 'label_2': 'label two'}]

等等。我想要一个这样的字典列表:

[ {'label': 'labelone', 'value': 'valueone'}, {'label': 'labeltwo', 'value': 'valuetwo'}]

我想过几种骇人听闻的方法来做到这一点,但都需要预先知道表单选项的数量和类型。我宁愿找到一个更灵活的解决方案。

这里有什么最佳实践吗?很多网站都做这样的事情,所以我猜我缺少一个最佳实践。

最佳答案

这个呢?

l = [{'label_1': 'labelone', 'value_1': 'valueone', 'label_2': 'label two', 'value_2':'v2'}]

values = int(len(l[0])/2)
dicts = []
for i in range(values):
label_name = 'label_%s' % (i+1)
value_name = 'value_%s' % (i+1)
dicts.append({'label':l[0][label_name], 'value':l[0][value_name]})

关于python - 将 html 表单解析为 python/Flask 中的字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14084967/

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