如下所述,我正在嘗試將字典資料傳遞給 API。
def create_flow_and_phases(request):
data = {
"name": "name_example",
"description":"description_example",
"category": 2,
"precedents": [2,3],
"users": [1],
"phases": [{
"name": "phase_name",
"description": "description name",
"sequence_number": 1,
"precedents": [1]
}]
}
# Making a POST request to save flow_and_phases
url = API_HOST "/api/flows/save_flow_and_phases/"
answer = requests.post(url, data=data, headers={'Authorization': 'Token ' request.session['user_token']})
if not answer.ok:
raise Exception("An error occurred while creating flow.")
下面,您可以看到字典資料格式與 Insomnia 中傳遞給 API 的格式相同,并且運行良好。
{
"name": "Testando cria??o de fluxo pelo Insomnia",
"description": "Fluxo teste simulando informa??es de trato e colheita de café na fazendo fictícia Quipo",
"category": 2,
"precedents": [2, 3],
"users": [1],
"phases": [
{
"name": "Trato anual",
"description": "Descri??o teste fase 1.",
"sequence_number": 1,
"precedents": []
},
{
"name": "Trato anual 2",
"description": "Descri??o teste fase 2.",
"sequence_number": 2,
"precedents": [1]
}
]
}
后端接收資料如下
flow_data = dict(data) # data is passed as parameter
但是當我去運行 debub 時,參考階段的資料不會傳遞給 API,如下面的螢屏截圖所示

如圖所示,帶有階段的串列沒有被傳遞。發生了什么?有什么建議嗎?
uj5u.com熱心網友回復:
將資料作為 JSON 發布,嵌套資料不像常規 POST 資料那樣作業。您可以在json引數中傳遞資料,請求應該為您處理標頭和序列化
answer = requests.post(url, json=data, headers={'Authorization': 'Token ' request.session['user_token']})
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/369961.html
