Допустим, у меня есть пользовательская модель User (фио, должность). В Django уже есть модель User из AUTHENTICATION AND AUTHORIZATION. Так же Django предоставляет свои готовые формы для регистрации: UserCreationForm. В шаблоне форму можно вывести примерно так: {{form}}. Выводится три поля: username, password1, password2. Дело в том, что я не понял что проверяет условие: form.is_valid(), поэтому обошелся без этого(проверяю в ручную). В интернете нашел вариант, где есть модель Proffile, который содержит(у меня это User):
user = models.OneToOneField(User, on_delete=models.CASCADE)
#+свои поля
То есть нужно дописать поле OneToOneField для связи с моделью для регистрация Django(User). Мне просто страшно переделывать модель пользователя и делать миграцию. Поступил так:
username = request.POST.get('username')
password1 = request.POST.get('password1')
password2 = request.POST.get('password2')
signup_f = request.POST.get('signup_f')
signup_i = request.POST.get('signup_i')
signup_o = request.POST.get('signup_o')
signup_post = request.POST.get('signup_post')
signup_email = request.POST.get('signup_email')
pattern = compile('(^|\s)[-a-z0-9_.]+@([-a-z0-9]+\.)+[a-z]{2,6}(\s|$)')
if(password1 == password2) and (pattern.match(signup_email)):
user_auth = AuthUser.objects.create_user(username, signup_email, password1)
user_auth.save()
user = User(fio=signup_f+' '+signup_i+' '+signup_o, user_post=signup_post, group=1, email=signup_email)
user.save()
Создал экземпляр джанго юзера, и своего юзера. Для авторизации будет использован джанго юзер. Имеет ли место быть данный способ регистрации? Второй вопрос: Это нормально, что я таким образом передаю и получаю логин и пароль?