Сервер Django выбрасывает ошибку MultiValueDictKeyError, хотя значение параметра присутствует
У меня есть конечная точка Django, которая выполняет запрос, обновляющий строку в моей базе данных с помощью имени_изображения. Я сохраняю имя изображения в хранилище клиентской сессии, извлекаю его и отправляю конечной точке. Затем конечная точка запускает функцию upload_to_db() на данных и возвращает успех или неудачу, основываясь на обновлении базы данных. Проблема в том, что эта функция постоянно выдает мне ошибку MultiValueDictKeyError на имя изображения, в частности, в этой строке:
img_name = request.POST["image_name"]
Несмотря на это, функция работает, и значения обновляются по мере необходимости, но я все равно получаю эту ошибку.
class paymentClass(APIView):
def get(self, request):
return render(request, "payment.html")
def post(self, request):
email = request.POST["email"]
pid = request.POST["pid"]
img_name = request.POST["image_name"]
# if not all([email, pid, img_name]):
# body = {"errorMessage": "Missing parameters"}
# return JsonResponse(body, status=400)
result = upload_to_db(email, img_name, pid)
print(result)
if result == "success":
return JsonResponse({"message": "created successfully", "image_name": img_name}, status=201)
else:
body = {"errorMessage": result}
return JsonResponse(body, status=400)
Редактирование: Вот функция upload_to_db, если это поможет:
def upload_to_db(email, name, pay_id):
with connection.cursor() as conn:
conn.execute("UPDATE asowinUsersUS set email = %s, p_id = %s WHERE image_name = %s", (email, pay_id, name))
if conn.rowcount > 0:
return 'success'
else:
return 'failed'
Я пробовал печатать имя изображения, которое показывает правильное имя. Я также убедился, что изображение передается на сервер правильно. Похоже, что проблема заключается в строке:
img_name = request. POST["image_name"]
Эта конечная точка прекрасно работает на PostMan, поэтому я даже не знаю, как ее отладить.