Django中的APPEND

最近系統重裝了,發現了自己原來寫VUE前端代碼無法使用了,莫名其妙的報錯,無法顯示,後來翻閱Django記錄,發現了這麼一個錯誤:

<code>RuntimeError: You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 192.168.124.9:8000/api/v1/login/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings./<code>

翻閱資料發現了其中的原因:

APPEND_SLASH 它是啥?

看變量名大概能知道做什麼,就是添加斜線,用路由系統那裡。路由文件,只寫了路由關係代碼。

APPEND_SLASH這個常量默認為True,就是假如你沒有添加斜線,他會幫你添加上(總體是這樣,具體得看源碼怎麼寫的了)

我們打開瀏覽器的開發者工具,查看網絡請求,輸入127.0.0.1:8000/test 這裡我是沒有加斜線的

仔細看下網絡請求,我們輸入127.0.0.1:8000/test,看起來只發送了一次,其實真實發送了兩次請求。


Django中的APPEND_SLASH問題

實際訪問測試

因為第二次轉換了,第一次的promise對象就報錯了,所以後面寫代碼要注意一個網址後面是否真的帶/符號


分享到:


相關文章: