Open1

DRFにリクエストを送ると500エラーが返ってくる

uichiuichi

ReactからDRFにリクエストを送ると、下記エラーが表示された。
リクエスト先は127.0.0.1:8000/api/v1/users/1

[25/Jun/2021 15:42:09] "OPTIONS /api/v1/users/1 HTTP/1.1" 200 0
Internal Server Error: /api/v1/users/1
Traceback (most recent call last):
  File "/Users/punpunpokopoko/env/lib/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/Users/punpunpokopoko/env/lib/python3.9/site-packages/django/utils/deprecation.py", line 116, in __call__
    response = self.process_request(request)
  File "/Users/punpunpokopoko/env/lib/python3.9/site-packages/django/middleware/common.py", line 54, in process_request
    path = self.get_full_path_with_slash(request)
  File "/Users/punpunpokopoko/env/lib/python3.9/site-packages/django/middleware/common.py", line 88, in get_full_path_with_slash
    raise RuntimeError(
RuntimeError: You called this URL via PATCH, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining PATCH data. Change your form to point to 127.0.0.1:8000/api/v1/users/1/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
[25/Jun/2021 15:42:09] "PATCH /api/v1/users/1 HTTP/1.1" 500 66580

URLの最後にスラッシュが必要とのことなので、127.0.0.1:8000/api/v1/users/1/とすると無事にリクエストが通りしました。