簡體   English   中英

Django rest框架,通過Angular發送時,序列化程序無效

[英]Django rest framework, serializer invalid when sent through Angular

我遇到一個問題,當我通過Django通過Angular應用程序發出發布請求時,即使輸出正確,我也會得到無效的序列化程序。

我控制台記錄發送的數據:

{"email":"example@gmail.com","username":"example","password":"plaintextforthisexample","confirm_password":"plaintextforthisexample"}

這給了我錯誤的請求響應(我設置為在serializer.is_valid()false時發生)。

但是,如果我將控制台日志中的內容復制並粘貼到原始數據下的可瀏覽API中,它將接受它並創建一個用戶。

我可以成功地將get-requests發送到相同的API並取回數據,獲取和發布的權限是相同的,盡管這會導致另一種錯誤。 內容類型也是正確的,如果不是,我得到415。如果URL錯誤,我得到500。而且我可以在Django服務器日志上看到張貼請求進入。可能是因為我正在運行它從一個有角度的模板而不是Django的模板?

編輯:

控制台圖片: 在此處輸入圖片說明

問題1:在Django中工作的控制台記錄的輸出不是實際發送的,導致JSONParse錯誤。 看起來像這樣

function(formobject){
let payload = JSON.stringify(formobject)
console.log(payload)

return formobject

問題2:現在Django在到達時給了我我的自定義響應:

Status:'Bad Request' Message:'Data does not fullfill requirements for creating a user'

並且不允許我將控制台中的JSON輸出復制粘貼到API原始數據格式中。

通過不使用大約15次嘗試使用的相同密碼來解決。 似乎Django檢測到通用密碼,尚未經過全面測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM