我无法弄清楚如何保存数据服务器端。这是我的路线:
@app.route('/results', methods=['GET', 'POST'])
@login_required
def results():
if request.method == 'POST':
results = request.form
return json.dumps(request.form)
我将请求表单从字典转换为字符串。这是构成表单的HTML:
<form action = "/results" method = "POST">
<input type="text" placeholder="Host" name="host" value="host">
<input type="text" placeholder="Longname" name="longname" value="longname">
<input type="text" placeholder="Shortname" name="shortname" value="shortname">
<p><input class="btn btn-primary" type="submit" value="send"></p>
我创建了一个结果页面,看看是否可以将表单转换为JSON。 但是现在我被卡住了,我不知道如何将结果保存到文件中。每次发布表单时,我都会收到类似这样的内容:
{hosts ["host": "a", "shortname": "c", "longname": "b"], ["host": "a", "shortname": "c", "longname": "b"]}
答案 0 :(得分:2)
如果您在JSON模块上read the documentation,您会发现dump
方法的工作方式与dumps
类似。你只需要提供一个文件对象:
with open('file.json', 'w') as f:
json.dump(request.form, f)
return render_html('your_template.html')
这会将您的表单写到file.json
。您可能希望在flask配置中设置一些内容,以存储您计划保存的文件的完整路径。