UnboundLocalError в /api/registration/, хотя я пытался исправить его
Скриншот ошибки находится по адресу Error
Ошибка, с которой я сталкиваюсь, заключается в следующем:
UnboundLocalError at /api/registration/
local variable 'data' referenced before assignment
Request Method: POST
Request URL: http://217.160.170.83:81/api/registration/
Django Version: 3.2.12
Exception Type: UnboundLocalError
Exception Value:
local variable 'data' referenced before assignment
Exception Location: /var/www/LWD/userAccount/views.py, line 128, in get_response_data
Python Executable: /usr/bin/python3
Python Version: 3.8.10
Python Path:
['/var/www/LWD',
'/usr/lib/python38.zip',
'/usr/lib/python3.8',
'/usr/lib/python3.8/lib-dynload',
'/usr/local/lib/python3.8/dist-packages',
'/usr/lib/python3/dist-packages']
Server time: Sat, 26 Mar 2022 19:05:05 +0000
Ссылка на репозиторий моего проекта: https://github.com/Bilal815/LWD
LWD/userAccount/views.py:
LWD/userAccounts/models.py:
P.S. Я попытался исправить это, закомментировав очистку данных для номера телефона и даты рождения, но это не сработало. На локалке все работает хорошо, но я понятия не имею, что произошло на сервере. Это мой первый раз на сервере и мне нужно это сделать, так как я хочу добавить это в свое портфолио.
Помогите, пожалуйста!
Ошибка в этой части:
def get_response_data(self, user):
if getattr(settings, "REST_USE_JWT", False):
data = {"user": user, "token": self.token}
return JWTSerializer(data).data
Вы создаете data только тогда, когда if getattr(settings, "REST_USE_JWT", False) истинно.
Что произойдет, если это false? data не создается, но вы ссылаетесь на него в JWTSerializer(data).
Вам нужно предоставить что-то в else, например:
def get_response_data(self, user):
if getattr(settings, "REST_USE_JWT", False):
data = {"user": user, "token": self.token}
else:
data = {# something goes here}
return JWTSerializer(data).data