首页 > 解决方案 > Python Flask request.data 仅返回字符串

问题描述

我刚开始使用 Python 和 Flask。我创建了一个基本的休息,我不会获取我使用 Postman 发送的数据。数据:

{
    "username": "test",
    "password": "12345"
}

我的python代码

from flask import Flask, request
...

@app.route("/Test", methods=['POST'])
   def Test():
      print(request.data)
...

我可以在终端中看到它打印b'{\n\t"username": "test",\n\t"password": "12345"\n}' 如何获取值?我正在寻找类似的东西:

request.data.username
request.data.password

我怎样才能使用python做到这一点?

顺便说一句,我试图 request.json 并返回“无”。此外,request.form 返回了“ImmutableMultiDict([])”。

谢谢

标签: pythonflaskpostman

解决方案


根据烧瓶文档,您的一种选择是使用get_json

get_json(强制=假,静默=假,缓存=真)

所以你可以试试:

print(request.get_json()) # you can use force=True to force a parsing as json.

## access values:

rjson = request.get_json()

username = rjson['username']
psswd = rjson['password']

要真正确保正确发送和读取 json,请使用MIME: application/json

在此处输入图像描述


推荐阅读