一、問題描述
在學習Django框架時,使用postman工具模擬客戶端的各種請求,今天在使用類視圖時遇到了一些問題:使用GET方式進行請求時,服務器處理ok,回傳200狀態碼,但是換成POST請求時,服務器總是回傳500狀態碼,其結果如下:

使用GET方式進行請求:

檢查了下代碼,沒有發現什么問題,類視圖代碼如下:

url配置也沒有問題

網上找了一下相關問題,發現很多都是提交的JSON資料格式有誤等導致,但是我試著不提交任何資料還是會出現同樣的問題,于是把postman各個位置的按鈕都嘗試著點了下,終于發現了問題所在,
二、分析原因
點擊Body下面的Preview,發現其提示“RuntimeError at /center”,后面有一段解釋,大致意思是django中設定了一個選項APPEND_SLASH=True,當前POST請求url中必須末尾有個’/’,我又去專案的settings檔案中去找了下,并沒有發現這個設定,可能是django默認設定的,

三、解決辦法
發現是因為url末尾缺少了’/‘后,再url末尾加上’/'再試一下發現果然成功啦,

不過比較奇怪的是以GET方式進行請求時末尾不加/是可以請求成功的,不知道是不是因為django默認設定的問題,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/23426.html
標籤:其他
上一篇:Firefox(火狐瀏覽器)
