如何使用Flask从HTML表单中发布对象数组?

6 浏览
0 Comments

如何使用Flask从HTML表单中发布对象数组?

这个问题已经有了答案:

使用jQuery将表单数据转换为JavaScript对象

jQuery发布JSON

JavaScript post请求像表单提交

如何在Flask中获取POST的JSON?

从Flask视图返回JSON响应

我想要生成一个从表单输入中包含对象数组的JSON对象:

{
"network":[
    {"layer_type": "conv2d", "num_filters": 16, "kernel_size": 2, "padding": "valid", "stride": 2},
    {"layer_type": "max_pool2d", "num_filters": 16, "kernel_size": 2, "padding": "valid", "stride": 2},
    {"layer_type": "conv2d", "num_filters": 32, "kernel_size": 3, "padding": "valid", "stride": 2}       
  ]
}

有没有一种方式可以使用Flask实现这个?

更新

这是表单的样子:

\"form

至于动态生成的html代码片段:

 

 

编辑:由于这个问题被标记为重复,我将添加更多信息。我想要在这个问题中实现类似于这样的东西,但使用Flask:

{"students" => [
  {
    "first" => "foo",
     "last" => "bar",
      "age" => "21"
  },
  {
    "first" => "baz",
     "last" => "qux",
      "age" => "19"
  }
]}

根据那里的已接受的答案,它确实适用于Ruby,通过拥有这种形式的表单:









但是我想知道如何使用Flask做到这一点。

admin 更改状态以发布 2023年5月22日
0
0 Comments
  1. 您可以通过form.data以json格式访问表单数据

例如,考虑如下定义的表单:

class GeneralForm(FlaskForm):
    boolean_val = BooleanField('Boolean')
    a_float = FloatField('Severity')
    submit = SubmitField('Submit')

在应用程序路由中,

@app.route('/wtforms', methods=['GET', 'POST'])
def debug_wtforms():
    form = GeneralForm()
    if request.method == 'POST' and form.validate_on_submit():
        print(form.data) # Form data as a dict
    return render_template('index1.html', form=form)

  1. 如果您仅在HTML模板中直接定义了表单,则可以使用request.form.to_dict(flat=False)访问表单数据

希望这能帮到您。

0