小编Adi*_*kar的帖子

将Flask表单数据转换为JSON仅获得第一个值

我想从HTML表单中获取输入,并以JSON格式提供输出。选择多个值时,它们不会转换为JSON数组,仅使用第一个值。

@app.route('/form')
def show_form():
    return render_template('form.html')

@app.route("/result", methods=['POST'])
def show_result():
    result = request.form
    return render_template('result.html', result=result)
Run Code Online (Sandbox Code Playgroud)

form.html

@app.route('/form')
def show_form():
    return render_template('form.html')

@app.route("/result", methods=['POST'])
def show_result():
    result = request.form
    return render_template('result.html', result=result)
Run Code Online (Sandbox Code Playgroud)

result.html

<form method=POST>
   <input name=server>
   <select name=owners multiple>
       <option value="thor">thor</option>
       <option value="loki">loki</option>
       <option value="flash">flash</option>
       <option value="batman">batman</option>
   </select>
   <input type=submit>
</form>
Run Code Online (Sandbox Code Playgroud)

如果为所有者选择了多个值,“ thor”和“ flash”,则输出仅显示一个值:

{"server": "app-srv", "owners": "thor"}
Run Code Online (Sandbox Code Playgroud)

我希望业主能够列出:

{"server": "app-srv", "owners": ["thor", "flash"]}
Run Code Online (Sandbox Code Playgroud)

如何在不丢失列表值的情况下将表单显示为JSON?

python json jinja2 flask

5
推荐指数
1
解决办法
6510
查看次数

标签 统计

flask ×1

jinja2 ×1

json ×1

python ×1