違いは何ですか
request.POST.get('sth')
と
request.POST['sth']
同様の質問が見つかりませんでした。どちらも同じように機能します。別々に使用できると思いますが、間違っている可能性があるため、質問しています。何か案は?
違いは何ですか
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 = None
2 番目のスニペット:
x = request.POST.get('sth')
最初のスニペット:
try:
x = request.POST['sth']
except KeyError:
x = -1
2 番目のスニペット:
x = request.POST.get('sth', -1)
最初のスニペット:
if 'sth' in request.POST:
x = request.POST['sth']
else:
x = -1
2 番目のスニペット:
x = request.POST.get('sth', -1)