我是网络编程的新手,这是我的第一个 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'}]
我已经想到了几种骇人听闻的方法来做到这一点,但都需要预先了解表单选项的数量和类型。我宁愿找到更灵活的解决方案。
这里有什么最佳实践吗?很多网站都做这样的事情,所以我猜我缺少一个最佳实践。