Я создал пользовательские формы для входа и регистрации в Django, используя HTML / CSS, а не form.as_p в Django. У меня есть следующий код в views.py:
def login_user(request):
logout(request)
if request.POST:
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
login(request, user)
return redirect('/mainpage/')
else:
login_message = "Your username or password is incorrect."
return render(request, 'index.html', {'login_message': login_message})
return render(request, 'index.html')
def sign_up(request):
if request.POST:
username = request.POST['username']
email = request.POST['email']
password = request.POST['password']
password_confirm = request.POST['password-confirm']
if(valid_form(username, email, password, password_confirm)):
#create the new user
user = CustomUser(name=username, email=email, password=password)
user.save()
user = authenticate(username=username, password=password)
login(request, user)
return redirect('/mainpage/')
else:
message = "There was a problem."
return render(request, 'index.html', {'message': message})
return render(request, 'index.html')
У меня есть следующая модель для CustomUser в models.py:
from django.contrib.auth.models import AbstractUser
from django.db import models
class CustomUser(AbstractUser):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=200, null=True)
email = models.EmailField(max_length=70, null=True)
password = models.CharField(max_length=50, null=True)
Мой код работает для регистрации, и яМожно создать нового пользователя после ввода имени пользователя, адреса электронной почты и пароля. Когда я проверяю пользователей в списке пользователей на сайте администратора Django, для нового пользователя, которого я создал (ruby), сохраняется только их электронная почта, а не имя пользователя. Я считаю, что по этой причине у меня также возникают проблемы при входе в систему с этим новым пользователем.

Однако я не уверен, почему имя пользователя нехранится для нового пользователя, которого я создал. Любые идеи приветствуются.