Flask,将表单中的数据保存到json文件中

时间:2017-02-07 13:27:43

标签: python json flask

我无法弄清楚如何保存数据服务器端。这是我的路线:

@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"]}

1 个答案:

答案 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配置中设置一些内容,以存储您计划保存的文件的完整路径。