淺談Django中的QueryDict元素為數組的坑
一般在Django的視圖函數中使用request.POST來獲取請求體,request.POST是QueryDict類,通常作為dict來使用。
正常如下圖
但是昨天在使用的時候遇到一個錯誤,提示從QueryDict里面pop出來的值類型為list。
一臉懵逼
在命令行敲代碼,發現了這個坑, 如下圖
可以看到,pop出來的值被放在的一個list里面。關鍵這個不同版本之間,行為還有所不同,就是因為在開發機器上一切正常,到了測試服務器就出問題才被發現的。
知道了問題,解決起來也簡單,直接調用QueryDict的dict方法,返回一個字典
補充知識:django基礎知識之QueryDict對象
QueryDict對象
定義在django.http.QueryDict
request對象的屬性GET、POST都是QueryDict類型的對象
與python字典不同,QueryDict類型的對象用來處理同一個鍵帶有多個值的情況
方法get():根據鍵獲取值
只能獲取鍵的一個值
如果一個鍵同時擁有多個值,獲取最后一個值
dict.get(’鍵’,default)
或簡寫為
dict[’鍵’]
方法getlist():根據鍵獲取值
將鍵的值以列表返回,可以獲取一個鍵的多個值
dict.getlist(’鍵’,default)
以上這篇淺談Django中的QueryDict元素為數組的坑就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: