request.POST['sth']
sẽ nêu ra một KeyError
ngoại lệ nếu 'sth'
không có trong request.POST
.
request.POST.get('sth')
sẽ trở lại None
nếu 'sth'
không có trong request.POST
.
Ngoài ra, .get
cho phép bạn cung cấp một tham số bổ sung của giá trị mặc định được trả về nếu khóa không có trong từ điển. Ví dụ,request.POST.get('sth', 'mydefaultvalue')
Đây là hành vi của bất kỳ từ điển python nào và không dành riêng cho request.POST
.
Hai đoạn mã này giống hệt nhau về chức năng:
Đoạn mã đầu tiên:
try:
x = request.POST['sth']
except KeyError:
x = None
Đoạn mã thứ hai:
x = request.POST.get('sth')
Hai đoạn mã này giống hệt nhau về chức năng:
Đoạn mã đầu tiên:
try:
x = request.POST['sth']
except KeyError:
x = -1
Đoạn mã thứ hai:
x = request.POST.get('sth', -1)
Hai đoạn mã này giống hệt nhau về chức năng:
Đoạn mã đầu tiên:
if 'sth' in request.POST:
x = request.POST['sth']
else:
x = -1
Đoạn mã thứ hai:
x = request.POST.get('sth', -1)