淺談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è)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 使用Hangfire+.NET 6實(shí)現(xiàn)定時(shí)任務(wù)管理(推薦)2. Xml簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理3. 如何在jsp界面中插入圖片4. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器5. phpstudy apache開(kāi)啟ssi使用詳解6. JSP之表單提交get和post的區(qū)別詳解及實(shí)例7. jsp文件下載功能實(shí)現(xiàn)代碼8. 詳解瀏覽器的緩存機(jī)制9. vue3+ts+elementPLus實(shí)現(xiàn)v-preview指令10. xml中的空格之完全解說(shuō)
