Я пытаюсь создать пользовательскую форму регистрации в Django, используя HTML и CSS, а не form.as_p
в Django. У меня есть следующий код в views.py:
def register(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
} else {
#send some error message
}
return render(request, 'index.html')
У меня есть своя собственная функция valid_form, чтобы проверить, действительны ли введенные пользователем поля формы. Однако я не уверен, как я могу создать нового пользователя, используя пользовательскую модель пользователя. Во всех примерах кода, касающихся регистрационных форм, я видел что-то вроде этого:
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save()
return redirect('main-page')
else:
form = UserCreationForm()
return render(request, 'users/register.html', {'form': form})
Где form.save()
используется для создания нового пользователя. У меня есть следующая модель для пользователя в models.py:
from django.contrib.auth.models import AbstractUser
from django.db import models
class CustomUser(AbstractUser):
id = models.AutoField(primary_key=True)
username = models.CharField(max_length=200, null=True)
email = models.EmailField(max_length=70, null=True)
Как я могу создать нового CustomUser после проверки данных формы? Любые идеи приветствуются.