【django学习】request.POST与request.POST.get两者主要区别
request.POST是用來接收前端傳過來的數(shù)據(jù)
?
一、request.POST.get('sth')與?request.POST ['sth'] - 區(qū)別
request.POST['sth']KeyError如果'sth'不在,將提出異常request.POST。
request.POST.get('sth')將返回None如果'sth'不在request.POST。
此外,.get允許您提供默認值的附加參數(shù),如果該鍵不在字典中,則返回該參數(shù)。
例如,request.POST.get('sth', 'mydefaultvalue')
這是任何python字典的行為,并不是特定的request.POST。
?
二、這兩個片段在功能上是相同的:
第一個片段:
try:x = request.POST['sth'] except KeyError:x = -1 第二個片段: x = request.POST.get('sth', -1)如果數(shù)值不存在的話,我們可以指定顯示的默認值:
x = request.POST.get('sth', 'default_value')
這里我們可以拿字典對象來進行理解:
三:正常字典訪問和使用.get()訪問它的主要區(qū)別:
使用類似request.POST['sth']意愿的東西?會出現(xiàn)一個關(guān)鍵錯誤,如果不存在''sth'。但是使用get()方法字典也會為您提供更好的錯誤處理
request.POST.get('sth')將返回沒有鍵是'sth不存在',并且通過給第二個參數(shù)get()將返回它作為默認值。
data = request.POST.get('sth','my_default_value')如果'sth'鍵不存在,則數(shù)據(jù)中的值將為my_default_value。這是使用get()方法優(yōu)于普通字典訪問的優(yōu)勢。
參考:https://stackoverflow.com/questions/12518517/request-post-getsth-vs-request-poststh-difference
總結(jié)
以上是生活随笔為你收集整理的【django学习】request.POST与request.POST.get两者主要区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 排序:冒泡排序与选择排序
- 下一篇: 微信小程序使用函数的方法