gpt4 book ai didi

python - request.body 中的 Django POST 数据但不能存储在变量中

转载 作者:太空宇宙 更新时间:2023-11-04 00:37:49 27 4
gpt4 key购买 nike

我正在向我的后端发布一些原始 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com