Python Flask request.data仅返回字符串

时间:2019-07-30 22:13:01

标签: python flask postman

我刚刚开始使用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,但返回“ none”。另外,request.form返回了“ ImmutableMultiDict([])”。

谢谢

1 个答案:

答案 0 :(得分:1)

根据flask docs,您可以选择使用get_json

  

get_json(force = False,silent = False,cache = True)

因此您可以尝试:

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,请使用MIMEapplication/json

enter image description here