Django: Как создать нового CustomUser с пользовательской формой регистрации - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь создать пользовательскую форму регистрации в 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 после проверки данных формы? Любые идеи приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...