request.POST['sth']
will raise a KeyError
exception if 'sth'
is not in request.POST
.
request.POST.get('sth')
will return None
if 'sth'
is not in request.POST
.
Additionally, .get
allows you to provide an additional parameter of a default value which is returned if the key is not in the dictionary. For example, request.POST.get('sth', 'mydefaultvalue')
This is the behavior of any python dictionary and is not specific to request.POST
.
These two snippets are functionally identical:
First snippet:
try:
x = request.POST['sth']
except KeyError:
x = None
Second snippet:
x = request.POST.get('sth')
These two snippets are functionally identical:
First snippet:
try:
x = request.POST['sth']
except KeyError:
x = -1
Second snippet:
x = request.POST.get('sth', -1)
These two snippets are functionally identical:
First snippet:
if 'sth' in request.POST:
x = request.POST['sth']
else:
x = -1
Second snippet:
x = request.POST.get('sth', -1)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…