Я пытаюсь создать пользователя в auth_user в Django, но получаю эту ошибку TypeError at /register/ set_password() missing 1 required
Здравствуйте, я пытаюсь создать пользователя в auth_user в базе данных, но он показывает мне ошибку
Метод, который я использую
from django.contrib.auth.models import User
user = Users.objects.get(username='myuser')
user.set_password('mypassword')
user.save()
Мой views.py
def registerpage(request):
if request.method == 'POST':
myusername = request.POST['name']
email = request.POST['email']
pass1 = request.POST['password1']
pass2 = request.POST['password2']
myuser = User.objects.get(username=myusername)
User.set_password('pass1')
myuser.name = myusername
myuser.email = email
myuser.password = pass1
myuser.save()
return redirect('testlogin')
Ошибка, которую я получаю
TypeError at /register/
set_password() missing 1 required positional argument: 'raw_password'
Мне нужна помощь!
Try myuser.set_password('pass1'). User - это класс, вы хотите установить пароль определенного пользователя.
создать пользователя
myuser = User.objects.create_user('username', 'example@gmail.com', 'youPassword')
Обновить данные пользователя
user = User.objects.get(username=myusername)
user.set_password('newpassword')
user.save()
В строке 8 вы пытаетесь получить пользователя до создания этого пользователя, это невозможно, а в строке no. 9, для какого пользователя вы хотите установить пароль? (Пользователь - это класс). сначала вы должны создать пользователя, после чего написать get запрос.
def registerpage(request):
if request.method == 'POST':
myusername = request.POST['name']
email = request.POST['email']
pass1 = request.POST['password1']
pass2 = request.POST['password2']
if not pass1 == pass2:
messages.warning(request,"please enter both password same")
return render(request,'registerpagetemplate.html')
else:
user = User.objects.create_user(username=myusername,password=pass1,email=email)
return redirect('testlogin')
После создания пользователя, создайте отдельный метод для входа, затем выполните запрос для доступа к пользователю:
myuser = User.objects.get(username=myusername)