я не могу зарегистрировать пользователя с помощью метода create_user () в django - PullRequest
0 голосов
/ 23 сентября 2019

Это код моего приложения.

def register(request):
    if request.method == 'POST':
        first_name = request.POST['first_name'],
        last_name = request.POST['last_name'],
        email = request.POST['email'],
        username = request.POST['username'],
        password = request.POST['password'],
        password2 = request.POST['password2'],


        if password == password2:
            if User.objects.filter(username=username).exists():
                return redirect('register')
            else:
                if User.objects.filter(email=email).exists():
                    return redirect('register')
                else:
                    print(username,email,password,first_name,last_name)

                    user = User.objects.create_user(username=username, password=password, email=email,
                                                first_name=first_name, last_name=last_name)
                    print(username, email, password, first_name, last_name)
                    user.save()
                    return redirect('login')
        else:
            return redirect('register')
    else:
        return render(request,'blog/register.html')

Там функция print () выполняется.но user = User.objects.create_user () не работает.Я не понимаю, почему это не работает.[Я не понимаю проблему. (Браузер показывает:) ] [1]

Ошибка: введите описание изображения здесь

1 Ответ

0 голосов
/ 23 сентября 2019

Вы добавили запятые в конце определений first_name, last_name и т. Д. Это превращает их в кортежи.Удалите эти запятые.

Но, как указывает Дани в комментариях, вы должны использовать формы.Тем более что в Django уже встроена пользовательская форма UserCreationForm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...