django аутентификация при ошибке страницы регистрации: локальная переменная «пользователь», на которую ссылаются перед назначением - PullRequest
0 голосов
/ 09 марта 2020

это моя регистрация аутентификации views.py def, когда я добавляю имя пользователя и пароль и нажимаю на регистрацию, появляется следующее сообщение:

local variable 'user' referenced before assignment

views.py def:

def signup(request):

   if request.method == 'POST':
       if request.POST['password1'] == request.POST['password2']:
          try:
             user = User.objects.get(username = request.POST['username'])
             return render(request, 'accounts/signup.html', {'error':'try another 
             username'})
          except User.DoesNotExist:
             User.objects.create_user(request.POST['username'], password = 
             request.POST['password1'])
             auth.login(request,user)
             return redirect('home')
   else:
       return render(request, 'accounts/signup.html', {'error':'password error'})

1 Ответ

0 голосов
/ 09 марта 2020

Вы не определяете user в блоке исключений.

User.objects.create_user(request.POST['username'], password = 
             request.POST['password1'])

Должно быть:

 user = User.objects.create_user(request.POST['username'], password = 
             request.POST['password1'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...