#65. Класс UserCreationForm | Уроки по Django 4

  Рет қаралды 5,689

selfedu

selfedu

Күн бұрын

Практический курс по Django: stepik.org/a/1...
Телеграм-канал Django: t.me/django_se...
Инфо-сайт: proproprogs.ru...
Реализация механизма регистрации пользователей с использованием классов UserCreationForm и CreateView.
65_sitewomen.zip: github.com/sel...
UserCreationForm: docs.djangopro...

Пікірлер: 19
@flow530
@flow530 Жыл бұрын
Благодарю! Проснулся и сразу видео.
@evgenyzakiev693
@evgenyzakiev693 Жыл бұрын
Спасибо, Сергей! Здоровья тебе🤝
@КириллКалита-ч3ж
@КириллКалита-ч3ж Жыл бұрын
Отличные видео, больше спасибо!!!🎉
@ЗНАКОМЫЙСВАРЩИК
@ЗНАКОМЫЙСВАРЩИК Жыл бұрын
Воут так вот достаточно просто делается форма регистрации с помощью базового класса UserCreationForm и класса представления для регистрации нового пользователя на сайте.
@andredru4278
@andredru4278 Жыл бұрын
Спасибо. Все понятно.
@4itakMCBE
@4itakMCBE 4 ай бұрын
В каком месте в коде вызывается метод clean_email из класса RegisterUserForm? Upd: ответ chatgpt: Метод `clean_email` вызывается автоматически системой Django Forms. Это происходит благодаря встроенному механизму валидации, который выполняется при вызове метода `is_valid()` или при попытке сохранить данные формы. Вот как это работает: 1. Когда вызывается метод `is_valid()`, Django проходит по всем полям формы и автоматически вызывает их валидаторы. В первую очередь, проверяются валидаторы, связанные с самим полем (например, длина строки, соответствие регулярным выражениям и т.д.). 2. После этого Django вызывает метод `clean_()` для каждого поля, если такой метод существует. В данном случае, это метод `clean_email()`. Этот метод обрабатывает данные, очищает их и может добавлять дополнительную логику валидации (как в вашем случае - проверка на уникальность email). 3. Если валидация поля прошла успешно, очищенные данные сохраняются в `self.cleaned_data`. Если валидация не прошла (как в вашем случае при дублирующемся email), возбуждается исключение `forms.ValidationError`, и форма считается недействительной. Таким образом, метод `clean_email()` вызывается автоматически в процессе валидации формы в рамках вызова метода `is_valid()` или при сохранении данных формы через представление (`CreateView`).
@anr5196
@anr5196 Жыл бұрын
Большое спасибо за ваши уроки. Сделайте, пожалуйста, обзор о реализации "хлебных крошек" на сайте.
@MultiIntelegent
@MultiIntelegent Жыл бұрын
Eще этот класс простые пароли не пропускает, цифры буквы минимум 8 символов
@SaratovOpera
@SaratovOpera 11 ай бұрын
06:07 Конечно курс о Django, а не паттернах проектирования, но IMHO - плохо, что не используется транзакция, поэтому в БД записывается новый пользователь, хотя была ошибка ( ImproperlyConfigured at /users/register/ No URL to redirect to. Either provide a url or define a get_absolute_url method on the Model). По-моему если были какие-либо ошибки, то в БД лучше ничего не писать, т.е. использовать транзакцию, т.е. по принципу или всё или ничего. А тут в БД записали, а перенаправление на страницу авторизации не сделали. Это плохая практика. IMHO. У вас какое мнение на этот счёт?
@TSM_149
@TSM_149 Жыл бұрын
Сергей, спасибо за урок! Небольшой вопрос, будет ли в дальнейшем рассмотрено разграничение прав пользователей?
@selfedu_rus
@selfedu_rus Жыл бұрын
Спасибо! Про права и группы видео будут.
@avdeyevpavel
@avdeyevpavel Жыл бұрын
Сергей, классный урок, как всегда, супер!!! А подскажите как передать переменную какую-нибудь на страницу Авторизации после успешной Регистрации пользователя, что бы на странице Авторизации, на которую мы перебрасываем пользователя после успешной Регистрации, выводить пользователю сообщение, что он зарегистрирован и просим его просто авторизоваться?
@selfedu_rus
@selfedu_rus Жыл бұрын
Спасибо! Если авторизация успешна и только в этом случае пользователь переходит на определенную страницу, то на ней и выводите просто это сообщение, либо как статический текст, либо передайте через переменную в шаблон, который там выводится.
@avdeyevpavel
@avdeyevpavel Жыл бұрын
@@selfedu_rus так мы же по уроку переводим пользователя на страницу авторизации и не сообщаем ни как пользователю, что он успешно зарегистрировался на сайте. Я согласен что можно переводить пользователя на страницу с сообщением о удачной регистрации и просить его перейти на страницу авторизации, но это лишнее. Мы перебрасываем его на страницу users:login и просто там же сообщаем что вы удачно зарегистрировались авторизируйтесь ниже в форме, но на эту страницу авторизации может человек и просто зайти для авторизации. Вопрос в том как передать на страницу users:login переменную, допустим registry: True, после того как мы удачно авторизовались. А конкретней когда мы прописали в классе RegisterUser success_url = reverse_lazy('users:login') можно ли гдето прописать контекст который передаться по success_url.
@selfedu_rus
@selfedu_rus Жыл бұрын
@@avdeyevpavel возможно, вам подойдут мгновенные сообщения, которые можно передавать при отображении форм. Посмотрите в сторону функции: from django.contrib.messages import constants as messages ссылка: docs.djangoproject.com/en/5.0/ref/contrib/messages/
@avdeyevpavel
@avdeyevpavel Жыл бұрын
@@selfedu_rus Спасибо гляну)
@obyeboshen
@obyeboshen Жыл бұрын
подскажите, в курсе на степике могут появиться еще больше видео, или он более не будет обновляться?
@ПростоУлыбка-ш2о
@ПростоУлыбка-ш2о Жыл бұрын
чем этот курс отличается от того, что на степике?
@selfedu_rus
@selfedu_rus Жыл бұрын
здесь только видео и то не все, на Stepik практика + доп. видео
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
7 Лет Опыта в IT | Что я Понял?
19:56
Vlad Mishustin
Рет қаралды 266 М.
Понять Django. Пишем "Hello world". Объясняю просто и с картинками.
25:49
Клуб дедов-программистов
Рет қаралды 194 М.
Ruslan & Lyudmila | Animated Short Film
16:19
СКАЗ
Рет қаралды 136 М.
КАК НАЧАТЬ ПОНИМАТЬ LINUX (2024)
21:10
PLAFON - Канал о линуксе
Рет қаралды 254 М.
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН