Сергей, спасибо! Скоро финал, стараюсь дойти до него не только по Вашим видео, но и читаю документацию + делаю свой уже второй проект, что-то типа интернет-магазина. Без JS ибо не умею, но как есть.
10:36 можно инициализатор поправить def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for field in self.fields: self.fields[field].widget.attrs['class'] = 'form-control'
До 3:12 - Добавление ссылки на форму регистрации и создание URL- схемы. 3:12 - 5:13 - создание представления для регистрации 5:13 - 6:08 - Создание шаблона register.html для отображения формы регистрации на странице. 6:40 - 12:20 - улучшение внешнего вида формы - создание соотвествующего класса в forms.py и цикла в html-шаблоне. 12:20 - 13:37 - добавление нового поля в форму. 13:50 - Документация о расширении модели User, с подробными примерами
Чем ближе к окончанию курса, тем меньше просмотров. Потому, что народ выдыхается ( . А после курса надо ещё как минимум 1 pet проект сделать. Тогда будет какое-то базовое понимание Django.
@@philippnazarenko7090 проект для практики или для закрепления материала. Это может быть просто твой личный проект который ты делаешь в свободное время.
9:58 Почему же они не работают ? В UserCreationForm, от которой мы наследуемся, поля как password1 и password2 указаны явно ( декларотивно), привожу код из UserCreationForm : class UserCreationForm(forms.ModelForm): ...... password1 = forms.CharField( label=_("Password"), strip=False, widget=forms.PasswordInput(attrs={'autocomplete': 'new-password'}), help_text=password_validation.password_validators_help_text_html(), ) password2 = forms.CharField( label=_("Password confirmation"), widget=forms.PasswordInput(attrs={'autocomplete': 'new-password'}), strip=False, help_text=_("Enter the same password as before, for verification."), ) И вот, если поля в форме джанго указаны явно - то все прочие поля формы, наподобие widgets для них игнорируются :)
Здравсвуйте, на 6:30 минуте вылазит ошибка RegisterUser is missing a QuerySet. Define RegisterUser.model, RegisterUser.queryset, or override RegisterUser.get_queryset(). при таком классе отображения class RegisterUser(DataMixin, CreateView): from_class = UserCreationForm template_name = 'firstapp/register.html' success_url = reverse_lazy('login') def get_context_data(self, *, object_list=None, **kwargs): context = super().get_context_data(**kwargs) c_def = self.get_user_content(title="Регистация") return context | c_def если убрать context то пропадает проблема, но форма не отображается. Помогите пожалуйста.
Сергей, такой вопрос: Сделал все абсолютно так же, как на видео. Но при попытке регистрации ловлю ошибку 403: "Ошибка проверки CSRF. Запрос отклонён.". В консоли при попытке регистрации: [08/Jun/2022 18:16:06] "GET / HTTP/1.1" 200 6177 [08/Jun/2022 18:16:13] "GET /register/ HTTP/1.1" 200 3641 Forbidden (CSRF token missing.): /register/ [08/Jun/2022 18:16:38] "POST /register/ HTTP/1.1" 403 2548. Т.е. CSRF токены не совпадают...
Добрый день! Есть ли возможность отдельно сделать видео с регистрацией путем отправки смс? Или быть может есть уже такой гайд на русском? Думаю многим было бы интересно. Спасибо!
Здравствуйте, подскажите пожалуйста, что нужно изучить для реализации возможности редактировать комментарии к посту не переходя на страницу конкретного комментария с отдельным URL адресом, а редактировать комментарий непосредственно на странице поста, к которому был оставлен этот коммент? Т.е. функционал комментариев как в ВК или у того же TH-cam
Не рассказали про очень важную часть регистрации пользователей - уникальность Очень хочется дополнение к этому уроку про уникальность полей, в особенности поля email, Сейчас мы все размещаем в приложении women. А если у меня несколько приложений, а регистрация единая (например добавлю еще форум) где размещать классы регистрации и все, что с ними связано? очень крутой видеоурок
Сейчас мы все размещаем в приложении women. А если у меня несколько приложений, а регистрация единая (например добавлю еще форум) где размещать классы регистрации и все, что с ними связано?
Вопрос: Когда в форме регистрации пользователя в Meta прописываю поля (fields) они у меня по какой-то причине сортируются в алфавитном порядке То есть я передаю как: login, password1, password2, а выводит password2, login, password1
Все верно, там вроде сортировка по ключу по умолчанию включается. Для изменения сортировки ordering = ['-pub_date', 'author'], подробнее: django.fun/docs/django/ru/3.2/ref/models/options/#ordering
@@selfedu_rus у меня по какой-то неведомой причине последнее поле "Повтор пароля" не берёт стиль форматирования как остальные три поля. Не пойму,что не так.
@@selfedu_rus в итоге забавно: если label состоит из двух слов (как "Повтор пароля") форматирование разъезжается на этом поле. Если из одного слова "Повтор" - то форматирование есть, как и у других полей:)
если у кого-то длинный лейбл "Повтор пароля" сдвигает поле инпута, это может быть из-за разрешения вашего старого ноутбука. Тут нужен ноутбук с full HD
@@showrun4747 это и не решение проблемы, а заметка на случай если кому интересно, почему так. Кстати, есть апдейт по этой проблеме - всё дело в браузере Mozilla Firefox на Linux, в другом браузере уже такой проблемы не будет. А решение этой проблемы - дело фронтенда
File "/mnt/c/Users/Listum/Desktop/django4president_RE/django4president_RE/urls.py", line 24, in path('register/', RegisterUser.as_view()), NameError: name 'RegisterUser' is not defined Что делать, не чинится
Не рассказали про очень важную часть регистрации пользователей - уникальность Очень хочется дополнение к этому уроку про уникальность полей, в особенности поля email
как мне использовать собственную форму, а не наследоваться в форме от класса формы из django. Например как мне сделать в веб приложении форму анкеты, чтобы user просто вводил данные, далее совершалась проверка на валидность данных по типу метода is_valid, и сейв в базу данных по типу метода save
Привет. Не знаю, исправил ли ты уже свою ошибку или нет, я все равно напишу решение. Во-первых, в файле views.py в классе представления который отвечает за регистртрацию пользователей, form_class ссылается на твою собственную форму которую ты создал в файле forms.py. Во вторых, удали импорт UserCreationForm. Он тут лишний.
@@FarenRulen можно более подробное пояснение? "Во-первых, в файле views.py в классе представления который отвечает за регистртрацию пользователей, form_class ссылается на твою собственную форму которую ты создал в файле forms.py." А должен на что ссылаться? И как это правильно реализовать? upd: ответ на этот вопрос можно найти в следующем видео, когда будет создаваться новая форма.
@@DimatronLogachev случайно поступил на программиста, но остался последний курс😂 по исрпо дали задание сделать сайт на джанго и тут наткнулся на этот видос, а я хз че да как
Здравствуйте , вопрос в добавлении дополнительных полей к регистрации, User игнорирует дополнительное поле, номер телефона, его нужно создавать через переопределении модели регистрации? То есть в начале создания проекта ?
Насколько я помню, в стандартной таблице users нет поля номера телефона, поэтому ему его просто некуда сохранять. Для формирования своей таблицы users посмотрите внимательно документацию, там подробно об этом рассказывается.
django.template.exceptions.TemplateSyntaxError: Invalid block tag on line 12: 'end block'. Did you forget to register or load this tag? не могу понять, почему ошибка вылазит
У меня почему-то поля формы регистрации отображаются в рандомном порядке после каждого перезапуска сервера. То email первый, то пароль2. Но новые юзеры создаются успешно. Выяснил, модель User импортнул отсюда: django.contrib.auth.forms вместо django.contrib.auth.models Лайк за видос.
Как повезло мне найти этот канал!
Как же я вам благодарен! Словами точно не описать!
Спасибо, Сергей!
Сергей, спасибо! Скоро финал, стараюсь дойти до него не только по Вашим видео, но и читаю документацию + делаю свой уже второй проект, что-то типа интернет-магазина. Без JS ибо не умею, но как есть.
Лайк. Как обычно супер полезный и понятный урок. Спасибо автору!
Классная подача материала! Очередной раз спасибо!
🔥🔥🔥💻🤓🤓🤓
Все как всегда! Качество на высшем уровне)))
Лучше уроки по Dgango 👍
Kak vsegda yrok syper !!!Spasibo bolshoe !!!!
Спасибо за урок! Очень интересная тема!
10:36
можно инициализатор поправить
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field in self.fields:
self.fields[field].widget.attrs['class'] = 'form-control'
по больше таких видеоуроков
Спасибо за видео!!
До 3:12 - Добавление ссылки на форму регистрации и создание URL- схемы.
3:12 - 5:13 - создание представления для регистрации
5:13 - 6:08 - Создание шаблона register.html для отображения формы регистрации на странице.
6:40 - 12:20 - улучшение внешнего вида формы - создание соотвествующего класса в forms.py и цикла в html-шаблоне.
12:20 - 13:37 - добавление нового поля в форму.
13:50 - Документация о расширении модели User, с подробными примерами
Спасибо, добавил в описание!
@@selfedu_rus Я это сделал в учебных целях, но очень неожиданно и приятно, что вы обратили внимание)
Чем ближе к окончанию курса, тем меньше просмотров. Потому, что народ выдыхается ( . А после курса надо ещё как минимум 1 pet проект сделать. Тогда будет какое-то базовое понимание Django.
что значит "pet проек"?
@@philippnazarenko7090 проект для практики или для закрепления материала. Это может быть просто твой личный проект который ты делаешь в свободное время.
Спасибо за урок! Кст, можно было еще использовать Crispy Forms, там пару строк добавить, а выглядит намного красивее.
Спасибо большое помогло очень
как раз этих знаний не хватало
Thank you, sir!
9:58 Почему же они не работают ? В UserCreationForm, от которой мы наследуемся, поля как password1 и password2 указаны явно ( декларотивно), привожу код из UserCreationForm :
class UserCreationForm(forms.ModelForm):
......
password1 = forms.CharField(
label=_("Password"),
strip=False,
widget=forms.PasswordInput(attrs={'autocomplete': 'new-password'}),
help_text=password_validation.password_validators_help_text_html(),
)
password2 = forms.CharField(
label=_("Password confirmation"),
widget=forms.PasswordInput(attrs={'autocomplete': 'new-password'}),
strip=False,
help_text=_("Enter the same password as before, for verification."),
)
И вот, если поля в форме джанго указаны явно - то все прочие поля формы, наподобие widgets для них игнорируются :)
Здравсвуйте, на 6:30 минуте вылазит ошибка RegisterUser is missing a QuerySet. Define RegisterUser.model, RegisterUser.queryset, or override RegisterUser.get_queryset().
при таком классе отображения
class RegisterUser(DataMixin, CreateView):
from_class = UserCreationForm
template_name = 'firstapp/register.html'
success_url = reverse_lazy('login')
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
c_def = self.get_user_content(title="Регистация")
return context | c_def
если убрать context то пропадает проблема, но форма не отображается. Помогите пожалуйста.
from_class поправь form_class
@@SoTer771 спасибо тебе огромное, часа 3 убил на это
Спасибо.
Спасибо за видео)
А какой метод отвечает за вставку новой записи пользователя в бд?
Благодарю!
Спасибо!
Сергей, такой вопрос:
Сделал все абсолютно так же, как на видео. Но при попытке регистрации ловлю ошибку 403: "Ошибка проверки CSRF. Запрос отклонён.". В консоли при попытке регистрации:
[08/Jun/2022 18:16:06] "GET / HTTP/1.1" 200 6177
[08/Jun/2022 18:16:13] "GET /register/ HTTP/1.1" 200 3641
Forbidden (CSRF token missing.): /register/
[08/Jun/2022 18:16:38] "POST /register/ HTTP/1.1" 403 2548.
Т.е. CSRF токены не совпадают...
Всему виной была ошибка в шаблоне register.html:
Было:
Добрый день! Есть ли возможность отдельно сделать видео с регистрацией путем отправки смс? Или быть может есть уже такой гайд на русском? Думаю многим было бы интересно. Спасибо!
Стековерфлов в помощь
Здравствуйте, подскажите пожалуйста, что нужно изучить для реализации возможности редактировать комментарии к посту не переходя на страницу конкретного комментария с отдельным URL адресом, а редактировать комментарий непосредственно на странице поста, к которому был оставлен этот коммент?
Т.е. функционал комментариев как в ВК или у того же TH-cam
Это через JS
@@selfedu_rus Благодарю за ответ, буду разбираться
👍
Не рассказали про очень важную часть регистрации пользователей - уникальность
Очень хочется дополнение к этому уроку про уникальность полей, в особенности поля email,
Сейчас мы все размещаем в приложении women. А если у меня несколько приложений, а регистрация единая (например добавлю еще форум) где размещать классы регистрации и все, что с ними связано? очень крутой видеоурок
Я все связанное с регистрацией и аутентификацией размещаю в прил. User
Сейчас мы все размещаем в приложении women. А если у меня несколько приложений, а регистрация единая (например добавлю еще форум) где размещать классы регистрации и все, что с ними связано?
На ваше усмотрение, но приложения стараются делать так, чтобы их потом можно было легко перенести в другой проект.
@@selfedu_rus в том то и проблема. Нет у меня усмотрения. Я совета спросил)
жизнь одна -живи как хочешь )@@РоманЗорин-о2г
Уроки очень познавательны и применимы в жизни, жаль автор не оставил информации куда копеечку можно скинуть
готова отдать все свои деньги, которых у меня нет за прекрасный материал
Yoomoney-кошелек: 410017009233821
Вопрос: Когда в форме регистрации пользователя в Meta прописываю поля (fields) они у меня по какой-то причине сортируются в алфавитном порядке
То есть я передаю как: login, password1, password2, а выводит password2, login, password1
Все верно, там вроде сортировка по ключу по умолчанию включается. Для изменения сортировки ordering = ['-pub_date', 'author'], подробнее: django.fun/docs/django/ru/3.2/ref/models/options/#ordering
@@selfedu_rus у меня по какой-то неведомой причине последнее поле "Повтор пароля" не берёт стиль форматирования как остальные три поля. Не пойму,что не так.
@@ДанилЧерепухин может браузер страницу из кэша берет?
@@selfedu_rus думал об этом, кеш браузера очищается при выходе.
@@selfedu_rus в итоге забавно: если label состоит из двух слов (как "Повтор пароля") форматирование разъезжается на этом поле. Если из одного слова "Повтор" - то форматирование есть, как и у других полей:)
если у кого-то длинный лейбл "Повтор пароля" сдвигает поле инпута, это может быть из-за разрешения вашего старого ноутбука. Тут нужен ноутбук с full HD
это надо решать не так. многие смотрят с телефона и регистрация должна и на телефоне выглядеть нормально
@@showrun4747 это и не решение проблемы, а заметка на случай если кому интересно, почему так. Кстати, есть апдейт по этой проблеме - всё дело в браузере Mozilla Firefox на Linux, в другом браузере уже такой проблемы не будет. А решение этой проблемы - дело фронтенда
File "/mnt/c/Users/Listum/Desktop/django4president_RE/django4president_RE/urls.py", line 24, in
path('register/', RegisterUser.as_view()),
NameError: name 'RegisterUser' is not defined
Что делать, не чинится
Вам надо импортировать этот класс в urls.py: from имя_приложения.views import RegisterUser
Не рассказали про очень важную часть регистрации пользователей - уникальность
Очень хочется дополнение к этому уроку про уникальность полей, в особенности поля email
В модели для нужного тебе поля прописываешь unique=True
Мне пишет, что не найден RegisterUser... что делать? пишу в урл from views import RegisterUser, не работает
попробуй так: from имя_приложения.views import RegisterUser
как мне использовать собственную форму, а не наследоваться в форме от класса формы из django. Например как мне сделать в веб приложении форму анкеты, чтобы user просто вводил данные, далее совершалась проверка на валидность данных по типу метода is_valid, и сейв в базу данных по типу метода save
простой вариант это сделать html форму, обработать данные POST запроса и всё
У меня не отображается поле Email. ошибок нет, даже копи-пастил эти строки с сайта. В чем может быть причина?
Привет. Не знаю, исправил ли ты уже свою ошибку или нет, я все равно напишу решение. Во-первых, в файле views.py в классе представления который отвечает за регистртрацию пользователей, form_class ссылается на твою собственную форму которую ты создал в файле forms.py. Во вторых, удали импорт UserCreationForm. Он тут лишний.
@@FarenRulen Спасибо!
@@FarenRulen можно более подробное пояснение?
"Во-первых, в файле views.py в классе представления который отвечает за регистртрацию пользователей, form_class ссылается на твою собственную форму которую ты создал в файле forms.py."
А должен на что ссылаться? И как это правильно реализовать?
upd: ответ на этот вопрос можно найти в следующем видео, когда будет создаваться новая форма.
А как перейти на этот сайт? прост я вообще полный 0 в программировании
Чел, а ты вообще что тут тогда забыл? :D
@@DimatronLogachev случайно поступил на программиста, но остался последний курс😂 по исрпо дали задание сделать сайт на джанго и тут наткнулся на этот видос, а я хз че да как
@@thelustsamurai4628 а я на 1 курсе, занимаюсь самообучением
@@DimatronLogachev молодец
А почему у тебя пароль автоматически захешировался? Или я чёт провтыкал?
Это делается автоматом на уровне Django, специально хэшировать не нужно - стандартная операция.
Спасибо!)
Здравствуйте , вопрос в добавлении дополнительных полей к регистрации, User игнорирует дополнительное поле, номер телефона, его нужно создавать через переопределении модели регистрации? То есть в начале создания проекта ?
Насколько я помню, в стандартной таблице users нет поля номера телефона, поэтому ему его просто некуда сохранять. Для формирования своей таблицы users посмотрите внимательно документацию, там подробно об этом рассказывается.
Автор для этого ссылку на документацию оставил в закрепе, прям конкретно на этот вопрос.
выходит ошибка name 'reverse_lazy' is not defined
и без понятия что с этим делать
либо версия Django не позволяет, либо нужно ее вначале импортировать from django.urls import reverse_lazy
Datamixin объясни пожалуйста от куда ты его берешь ?
Мы его сами прописали на одном из занятий. См. исходники, ссылка под видео.
да#н нах ты резину тянешь, написал бы от куда это@@selfedu_rus
Как подключить файл forms к файлу register?
Если в одном пакете, то так должно работать:
from .forms import *
Кул
10:03 автор забыл добавить в forms вот такой импорт: from django.contrib.auth.models import User , не понимаю как у него все работает
Его импортировал на 7.26
django.template.exceptions.TemplateSyntaxError: Invalid block tag on line 12: 'end
block'. Did you forget to register or load this tag?
не могу понять, почему ошибка вылазит
всё, разобрался, ппц :)
У меня почему-то поля формы регистрации отображаются в рандомном порядке после каждого перезапуска сервера. То email первый, то пароль2. Но новые юзеры создаются успешно.
Выяснил, модель User импортнул отсюда: django.contrib.auth.forms вместо django.contrib.auth.models
Лайк за видос.
курс - барахло. если уж откровенно говорить.
ну как сказать, для меня прояснил очень много и уберег от десятков часов дебаггинга