Почему я получаю эту ошибку? Кто-нибудь может мне помочь...?
регистрация пользователей с помощью 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. Сначала многие вещи будут казаться странными, но через некоторое время это будет как вторая натура.