Я пытаюсь создать пользователя в 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)
Вернуться на верх