我正在向我的后端发布一些原始 JSON
{
"access_token": "hU5C7so4reJOYTzPyhKPs8PWq07tb",
"id": 3,
"order_details": [{"meal_id": 1, "quantity": 3}, {"meal_id": 2, "quantity": 2}]
}
但是当我尝试
print (request.POST.get("access_token"))
我收到无
但是,当我这样做的时候
print (request.body)
值似乎在那里:
b'{\n\t"access_token": "hU5C7so4reJOYTzPyhKPs8PWq07tb",\n\t"id": 3,\n\t",\n\t"order_details": [{"meal_id": 1, "quantity": 3}, {"meal_id": 2, "quantity": 2}]\n}'
我正在使用 Postman 发布数据。
我想像这样将访问 token 存储到某个变量中:
access_token = request.POST.get("access_token")
与发布数据
我对 Django 还是很陌生,任何帮助都会很棒。
最佳答案
Request.POST 在您发送表单数据时被填充。 见django doc , 和 this answer了解详情。 因为,在你的情况下,你发布的是“普通”json,你会在 request.body 下找到你的有效负载。 您可以将正文从二进制解码为字典,如下所示:
import json
body = json.loads(request.body.decode('utf-8'))
access_token = body.get("access_token")
关于python - request.body 中的 Django POST 数据但不能存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43178061/