2017-04-03 28 views
0

存儲我張貼一些生JSON到我的後端在request.body Django的POST數據,但不能在可變

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

然而,當我嘗試

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

我收到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的,任何幫助將是巨大的。

+0

Django不知道您發佈的是JSON或任何其他格式。你需要解碼你得到的數據。谷歌上升'json.loads' –

回答

2

只是做了json.loads應該工作。

import json 

json_data = json.loads(request.body) 
1

你需要的JSON第一解碼:

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

那麼你可以擷取您的信息

for i in json_obj: 
    token = i['access_token'] 
    order_details = i['order_details'] 

希望這有助於