Почему я получаю эту ошибку? Кто-нибудь может мне помочь...?

регистрация пользователей с помощью mysql django

Эту ошибку я получаю и не могу найти ее решение.Может ли кто-нибудь помочь мне, я использую python django и mysql как базу данных с пользовательской моделью...?

AttributeError at /accountregister/
'Manager' object has no attribute 'create_user'
Request Method: POST**strong text**
Request URL:    http://127.0.0.1:8000/accountregister/
Django Version: 3.2.7
Exception Type: AttributeError
Exception Value:    
'Manager' object has no attribute 'create_user'
Exception Location: /home/akshay/Django/mysite/account/views.py, line 20, in register
Python Executable:  /home/akshay/Django/my_env/bin/python
Python Version: 3.8.10
Python Path:    
['/home/akshay/Django/mysite',
 '/usr/lib/python38.zip',
 '/usr/lib/python3.8',
 '/usr/lib/python3.8/lib-dynload',
 '/home/akshay/Django/my_env/lib/python3.8/site-packages']
Server time:    Wed, 16 Feb 2022 06:38:41 +0000
Traceback Switch to copy-and-paste view
/home/akshay/Django/my_env/lib/python3.8/site-packages/django/core/handlers/exception.py, line 47, in inner
                response = get_response(request) …
▶ Local vars
/home/akshay/Django/my_env/lib/python3.8/site-packages/django/core/handlers/base.py, line 181, in _get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
/home/akshay/Django/mysite/account/views.py, line 20, in register
        user=Newuser.objects.create_user(username=username,Email=Email,pwd1=pwd1,pwd2=pwd2,gender=gender) …
▶ Local vars

это мой views.py

        
from django.shortcuts import render
from django.contrib.auth.models import *
from .models import *
from django.contrib import messages

def index(request):
    return render(request,'accounts/index.html')


def register(request):
    if request.method == 'POST':
        username = request.POST['uname']
        Email = request.POST['email']
        pwd1 = request.POST['pass1']
        pwd2 = request.POST['pass2']
        gender=request.POST['gend']
        user=Newuser.objects.create_user(username=username,Email=Email,pwd1=pwd1,pwd2=pwd2,gender=gender)
        user.save()
        messages.success("user saved successfully....!")

        return render(request,'accounts/register.html')

    else:
        return render(request,'accounts/register.html')
        

это мой models.py...................

class Newuser(models.Model):
    username=models.CharField(max_length=50)
    Email=models.CharField(max_length=50)
    pwd=models.CharField(max_length=50)
    gender=models.CharField(max_length=1)
    

это мой urls.py........................

urlpatterns = [

    path('', views.index, name='index'),
    path('register/',views.register, name='register')   
]

Попробуйте create вместо create_user:

      user=Newuser.objects.create(
            username=username,
            Email=Email,
            pwd=pwd1,
            gender=gender)

pwd1=pwd1 и pwd2=pwd2 здесь не сработают, так как у Newuser нет полей с именами pwd1 и pwd2.

Также: Комментарии о том, что сначала нужно пройти какой-нибудь учебник, могут показаться резкими, но они в какой-то степени правильные. Вы можете начать с официального учебника по django: https://docs.djangoproject.com/en/4.0/intro/tutorial01/

или некоторые учебники на YT. Сначала многие вещи будут казаться странными, но через некоторое время это будет как вторая натура.

Вернуться на верх