【问题标题】:Issue receiving Form data with Flask使用 Flask 接收表单数据的问题
【发布时间】:2017-12-20 11:34:35
【问题描述】:

一个相当奇怪的问题,我不确定发生了什么。我正在使用一个名为 webhooks 的 Wordpress 插件,它将数据发送到 API 端点进行处理。该 API 端点由 Flask 应用程序管理。

@app.route('/<source>/<reason>/post/send', methods=['POST'])
def send(source, reason):

    uuid = request.form.get('uuid')

    form = request.form

    return jsonify(result={ "status": 200, "form": form, "source": source, "reason": reason })

基本上我在想发生了什么,因为 uuid 被返回为“null”,所以我决定返回表单本身的响应:

{ "result": { "form": { "{\"uuid\":\"sdsdfsdfsdf\",\"name\":\"Michael Roberts\",\"email\":\"michael.j.roberts@booboo.com\"}": "" }, "reason": "tommy", "source": "timmy", "status": 200 } }

以上是我能举出的最小例子——但本质上,我到底如何引用 uuid、电子邮件、姓名等?

【问题讨论】:

    标签: python forms post flask request


    【解决方案1】:

    文档http://flask.pocoo.org/docs/0.12/api/#flask.Request

    • request.data 将传入的请求数据包含为 string,以防它带有 mimetype Flask 无法处理。

    • request.form:正文中的键/值对,来自 HTML 帖子表单,或 不是 JSON 编码的 JavaScript 请求

    因此,如果 request.data 具有正确的 mimetype(应用程序 json),您可以尝试 request.data 或使用 json.loads(request.form) 将 request.form 编码为 dict 然后访问 uuid

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-16
      • 2022-07-07
      • 2020-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      相关资源
      最近更新 更多