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