Получение MultiValueDictKeyError на Django при попытке получить стрип-хук

Я получаю django.utils.datastructures.MultiValueDictKeyError при попытке получить сигнал полоски, когда заряд подписки не удается,

Вот отслеживание

Traceback (most recent call last):
  File "/home/aditya/dev/cn/pmx_env/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/aditya/dev/cn/pmx_env/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/aditya/dev/cn/pmx_env/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/aditya/dev/cn/pmx_env/lib/python3.7/site-packages/sentry_sdk/integrations/django/views.py", line 67, in sentry_wrapped_callback
    return callback(request, *args, **kwargs)
  File "/usr/lib/python3.7/contextlib.py", line 74, in inner
    return func(*args, **kwds)
  File "/home/aditya/dev/cn/pmx_env/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/home/aditya/dev/cn/pmx_env/lib/python3.7/site-packages/zebra/views.py", line 38, in webhooks
    request_data = json.loads(request.POST["request_data"])
  File "/home/aditya/dev/cn/pmx_env/lib/python3.7/site-packages/django/utils/datastructures.py", line 80, in __getitem__
    raise MultiValueDictKeyError(key)
django.utils.datastructures.MultiValueDictKeyError: 'request_data'
[13/Nov/2021 09:36:29] "POST /zebra/webhooks/ HTTP/1.1" 500 121292

Я использую

  • django 2.2
  • Python 3.7.12

Заранее спасибо за любые решения и предложения.

Нет необходимости в json.loads, вы можете просто использовать метод request.POST.get() вот так

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

Возвращает значение None, если в словаре нет ключа request_data.

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