我想在我的視圖上測試我的更新方法。該視圖是從drf獲取的模型視圖。要更新,我需要發送放入請求。由於這不總是被支持,所以有兩種方法可以告訴服務器我正在發出一個請求,第一種不適合我的需求是使用一個額外的字段來形成_method
,並將其設置爲put
。由於我需要發佈json數據,因此我需要使用第二種方法,即使用X-HTTP-Method-Override
標題。Django測試客戶端方法覆蓋頭
要發佈我的數據在測試用例我使用下面的代碼:
header = {'X_HTTP_METHOD_OVERRIDE': 'PUT'}
response = client.post('/model/1/', content_type='application/json', data=post_data_clean, **header)
但不幸的是,結果我得到的是{'detail':'Method POST not allowed.'}
。我使用插件(Postman)測試了服務器的行爲,其中我也指定了X-HTTP-Method-Override
標頭。沒有例外。我現在需要知道如何正確地將頭部傳遞給django測試客戶端,否則測試會在這裏變得非常煩人。
感謝您的文檔鏈接!原因的答案。 – Iwan1993