【django學習】request.POST與request.POST.get兩者主要區別


本文鏈接:https://blog.csdn.net/xun527/article/details/87777576
request.POST是用來接收前端傳過來的數據
 

一、request.POST.get('sth')與 request.POST ['sth'] - 區別
request.POST['sth']KeyError如果'sth'不在,將提出異常request.POST。

request.POST.get('sth')將返回None如果'sth'不在request.POST。

此外,.get允許您提供默認值的附加參數,如果該鍵不在字典中,則返回該參數。

例如,request.POST.get('sth', 'mydefaultvalue')

這是任何python字典的行為,並不是特定的request.POST。

 

二、這兩個片段在功能上是相同的:
第一個片段:

try:
x = request.POST['sth']
except KeyError:
x = -1

第二個片段:
x = request.POST.get('sth', -1)
如果數值不存在的話,我們可以指定顯示的默認值:

x = request.POST.get('sth', 'default_value')


這里我們可以拿字典對象來進行理解:

list_test = {'a': 1, 'b': 2}

list_test.get('a')  # 得到結果1
list_test.get('c')  # 得到結果none
list_test.get('c', 3)  # 得到設定的默認值3
list_test['b']   # 得到結果 2
list_test['c']   # 返回一個Keyvalue 錯誤類型
三:正常字典訪問和使用.get()訪問它的主要區別:
使用類似request.POST['sth']意願的東西 會出現一個關鍵錯誤,如果不存在''sth'。但是使用get()方法字典也會為您提供更好的錯誤處理

request.POST.get('sth')
將返回沒有鍵是'sth不存在',並且通過給第二個參數get()將返回它作為默認值。

data = request.POST.get('sth','my_default_value')
如果'sth'鍵不存在,則數據中的值將為my_default_value。這是使用get()方法優於普通字典訪問的優勢。


參考:https://stackoverflow.com/questions/12518517/request-post-getsth-vs-request-poststh-difference


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM