淺談Django中的QueryDict元素為數(shù)組的坑
一般在Django的視圖函數(shù)中使用request.POST來獲取請求體,request.POST是QueryDict類,通常作為dict來使用。
正常如下圖

但是昨天在使用的時候遇到一個錯誤,提示從QueryDict里面pop出來的值類型為list。
一臉懵逼
在命令行敲代碼,發(fā)現(xiàn)了這個坑, 如下圖

可以看到,pop出來的值被放在的一個list里面。關(guān)鍵這個不同版本之間,行為還有所不同,就是因為在開發(fā)機器上一切正常,到了測試服務(wù)器就出問題才被發(fā)現(xiàn)的。
知道了問題,解決起來也簡單,直接調(diào)用QueryDict的dict方法,返回一個字典

補充知識:django基礎(chǔ)知識之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)文章:
1. Java如何基于反射機制獲取不同的類2. Android table布局開發(fā)實現(xiàn)簡單計算器3. jQuery 實現(xiàn)DOM元素拖拽交換位置的實例代碼4. IntelliJ IDEA安裝插件的方法步驟5. php模擬實現(xiàn)斗地主發(fā)牌6. 理解PHP5中static和const關(guān)鍵字7. Vue封裝一個TodoList的案例與瀏覽器本地緩存的應(yīng)用實現(xiàn)8. python 代碼實現(xiàn)k-means聚類分析的思路(不使用現(xiàn)成聚類庫)9. .Net Core使用Coravel實現(xiàn)任務(wù)調(diào)度的完整步驟10. PHP安全-命令注入

網(wǎng)公網(wǎng)安備