Что возвращает метод request.POST.get в Django?

Что возвращает request.POST.get("a") в то время как "a" является ссылкой на следующий html

label for = "a">ADDED ITEMS:</label>
<input hidden type="number" name="a" id="a">

def myfunc():

if request.method == "POST":
    a = request.POST.get("a");
    obj = TransferedItems(item_id = a);
    obj.save();
    return HttpResponse("sent")
else:
    return HttpResponse("form submission failed")

Я новичок в Django и не могу найти, что возвращает request.POST.get. Пожалуйста, помогите мне разобраться в моем вопросе.

Возвращает значение поля с именем a, которое вы отправляете из HTML. Если значение не существует, возвращается None

Django request.POST является словареподобным объектом, что означает, что его get() метод ведет себя точно так же, как обычный dict метод get() :

get(key[, default])

Возвращает значение для ключа, если ключ находится в словаре, иначе значение по умолчанию. Если значение default не задано, оно по умолчанию равно None, так что этот метод никогда не вызовет ошибку KeyError.

.

Итак, чтобы ответить на ваш вопрос, request.POST.get("a") либо возвращает значение a, которое всегда является строкой (хотя это может быть и пустая строка!), либо значение None. Следующий код проверяет, какая из этих возможностей имеет место:

a = request.POST.get("a")

if a is None:
    return HttpResponseBadRequest("No key `a` present in POST data")

if a == "":
    return HttpResponseBadRequest("Empty string supplied for `a` in POST data")

TransferedItems.objects.create(item_id = a)

return HttpResponse("sent")
Вернуться на верх