淺談Django中的QueryDict元素為數(shù)組的坑
一般在Django的視圖函數(shù)中使用request.POST來(lái)獲取請(qǐng)求體,request.POST是QueryDict類(lèi),通常作為dict來(lái)使用。
正常如下圖
但是昨天在使用的時(shí)候遇到一個(gè)錯(cuò)誤,提示從QueryDict里面pop出來(lái)的值類(lèi)型為list。
一臉懵逼
在命令行敲代碼,發(fā)現(xiàn)了這個(gè)坑, 如下圖
可以看到,pop出來(lái)的值被放在的一個(gè)list里面。關(guān)鍵這個(gè)不同版本之間,行為還有所不同,就是因?yàn)樵陂_(kāi)發(fā)機(jī)器上一切正常,到了測(cè)試服務(wù)器就出問(wèn)題才被發(fā)現(xiàn)的。
知道了問(wèn)題,解決起來(lái)也簡(jiǎn)單,直接調(diào)用QueryDict的dict方法,返回一個(gè)字典
補(bǔ)充知識(shí):django基礎(chǔ)知識(shí)之QueryDict對(duì)象
QueryDict對(duì)象
定義在django.http.QueryDict
request對(duì)象的屬性GET、POST都是QueryDict類(lèi)型的對(duì)象
與python字典不同,QueryDict類(lèi)型的對(duì)象用來(lái)處理同一個(gè)鍵帶有多個(gè)值的情況
方法get():根據(jù)鍵獲取值
只能獲取鍵的一個(gè)值
如果一個(gè)鍵同時(shí)擁有多個(gè)值,獲取最后一個(gè)值
dict.get('鍵',default)
或簡(jiǎn)寫(xiě)為
dict['鍵']
方法getlist():根據(jù)鍵獲取值
將鍵的值以列表返回,可以獲取一個(gè)鍵的多個(gè)值
dict.getlist('鍵',default)
以上這篇淺談Django中的QueryDict元素為數(shù)組的坑就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux系統(tǒng)(CentOS)下python2.7.10安裝
這篇文章主要為大家詳細(xì)介紹了Linux系統(tǒng)(CentOS)下python2.7.10安裝圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09解決tensorflow添加ptb庫(kù)的問(wèn)題
今天小編就為大家分享一篇解決tensorflow添加ptb庫(kù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python代碼如何實(shí)現(xiàn)切換中英文輸入法
這篇文章主要介紹了python代碼如何實(shí)現(xiàn)切換中英文輸入法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11python中的常用運(yùn)算符和優(yōu)先級(jí)
這篇文章主要介紹了python中的常用運(yùn)算符和優(yōu)先級(jí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06python getpass實(shí)現(xiàn)密文實(shí)例詳解
這篇文章主要介紹了python getpass實(shí)現(xiàn)密文實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09如何解決pycharm中用matplotlib畫(huà)圖不顯示中文的問(wèn)題
這篇文章主要介紹了如何解決pycharm中用matplotlib畫(huà)圖不顯示中文的問(wèn)題,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-06-06python實(shí)現(xiàn)圖書(shū)館研習(xí)室自動(dòng)預(yù)約功能
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)圖書(shū)館研習(xí)室自動(dòng)預(yù)約功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04