【问题标题】:Flask, save data from forms to json file烧瓶,将数据从表单保存到json文件
【发布时间】:2023-04-01 03:08:01
【问题描述】:

我不知道如何在服务器端保存数据。这是我的路线:

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

【问题讨论】:

  • 您想将表单保存在服务器上还是将其作为用户/客户端的下载提供?

标签: python json flask


【解决方案1】:

如果您在 JSON 模块上read the documentation,您会看到有一个类似于dumpsdump 方法。你只需要给它一个文件对象:

    with open('file.json', 'w') as f:
        json.dump(request.form, f)
    return render_html('your_template.html')

这会将您的表格写到file.json。你可能想在你的烧瓶配置中设置一些东西来存储你计划保存的文件的完整路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-09
    • 2021-07-03
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 2013-06-29
    • 2021-09-04
    相关资源
    最近更新 更多