Сервер Django выдает MultiValueDictKeyError, даже если значение параметра присутствуетPython

Программы на Python
Anonymous
Сервер Django выдает MultiValueDictKeyError, даже если значение параметра присутствует

Сообщение Anonymous »

У меня есть конечная точка 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, поэтому я даже не знаю, как ее отлаживать.

Подробнее здесь: https://stackoverflow.com/questions/783 ... of-the-par

Вернуться в «Python»