@i_egor

Можно ли так организовать регистрацию пользователей в Django?

Допустим, у меня есть пользовательская модель 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()

Создал экземпляр джанго юзера, и своего юзера. Для авторизации будет использован джанго юзер. Имеет ли место быть данный способ регистрации? Второй вопрос: Это нормально, что я таким образом передаю и получаю логин и пароль?
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы