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

Вернуться на верх