Django在中发布数据请求.正文但不能存储在variab中

2024-10-01 09:15:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我在后台发布一些原始的JSON

{
    "access_token": "hU5C7so4reJOYTzPyhKPs8PWq07tb",
    "id": 3,
    "order_details": [{"meal_id": 1, "quantity": 3}, {"meal_id": 2, "quantity": 2}]
}

但是当我试着

^{pr2}$

我收到None

但是,当我这么做的时候

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}'

我用邮递员把数据寄出去。在

我想将访问令牌存储到如下变量中:

access_token = request.POST.get("access_token")

用post数据

我对Django还是个新手,任何帮助都会很棒。在


Tags: 数据tokennoneidjsonaccessrequestorder
3条回答

只是做一个json.loads应该行得通。在

import json

json_data = json.loads(request.body)

您需要先对json进行解码:

import json
variable = urlopen(request).read().decode('utf-8')
json_obj = json.loads(variable)

然后你可以检索你的信息

^{pr2}$

希望能帮上忙

在请求.POST在发送表单数据时填充。 有关详细信息,请参见django doc,和this answer。 因为在您的例子中,您发布的是“普通”json,所以您将在下面找到您的有效负载请求.正文. 您可以将正文从二进制解码为dict,如下所示:

import json

body = json.loads(request.body.decode('utf-8'))
access_token = body.get("access_token")

相关问题 更多 >