Тёмный

#14. Формы, связанные с моделями. Пользовательские валидаторы | Django уроки 

selfedu
Подписаться 151 тыс.
Просмотров 73 тыс.
50% 1

Практический курс по Django: stepik.org/a/183363
Django урок 14. Делаем форму, связанную с моделью на основе базового класса ModelForm. Класс Meta для описания связывания (атрибуты model, fields, widgets). Тонкая настройка свойств полей через конструктор дочернего класса и коллекцию fields. Метод формы save(). Загрузка изображений через форму. Коллекция request.FILES и атрибут тега form enctype="multipart/form-data". Создание собственных валидаторов формы. Исключение ValidationError().
Телеграм-канал: t.me/django_selfedu
Инфо-сайт: proproprogs.ru/django
lesson-14-coolsite.zip: github.com/selfedu-rus/django...
Русскоязычная документация по Django 3: djbook.ru/rel3.0/
Официальный сайт по Django: www.djangoproject.com

Опубликовано:

 

2 фев 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 126   
@licantrop609
@licantrop609 3 года назад
Я прорывал весь ютуб в поисках нормального курса, который объяснял бы все четко и внятно. Жаль, что я его нашел уже спустя некоторое время изучения, с нуля б, смотря эти курсы, я б освоил все куда быстрее. Люди, кто просто промельком увидел этот коммент, лучше бесплатного курса вы не найдете нигде.
@vladimir8324
@vladimir8324 Год назад
И лучше любого платного
@user-mb7bh2oe7j
@user-mb7bh2oe7j Год назад
@@vladimir8324 Плюсую!
@kadyrkulove
@kadyrkulove 3 года назад
Сидел и раньше думал нахера эти class meta.... и тут херакс и пришло просветление. Спасибо Большое! Так грамотно и четко мне никто и никогда не объяснял)
@friend1cat
@friend1cat 3 года назад
Спасибо, Сергей!. Как обычно у Вас, всё чётко.
@siarheiulas6969
@siarheiulas6969 Год назад
Очень нравится подача материала. Спасибо большое за Вашу работу!
@Romulanez
@Romulanez Год назад
Очень понравилось, рассказывает как Николай Дроздов, только не про животных, а про Python. Доступно, понятно, четко, все нюансы и тонкости описаны.
@igorkulibaba7287
@igorkulibaba7287 3 года назад
Спасибо, про валидаторы подробно рассказано, очень круто
@donfedor007
@donfedor007 3 года назад
Доброе время суток! Спасибо за урок!!
@strelok-nss3605
@strelok-nss3605 2 года назад
У нас в техникуме изучают Yii2 и PHP, мне не нравится ни язык не фреймворк, я решил изучать сам Django, и благодаря этому видео разобрался с формами в джанге(я их не использовал совсем ибо надо было каждое поле настраивать отдельно и ещё пара нюансов). Недавно пришлось всё-таки ознакомиться с формами(наконец-то решил понять как мне это можно использовать). Но найти нормальную документацию и разобраться в ней не так-уж и просто. А это видео на хорошем примере показывает то, как это сделать как можно настроить. Теперь я могу эти знания применить и в дипломе и на экзамене. (Это очень упрощает жизнь) Этот плейлист полон полезной и качественной информацией, БОЛЬШОЕ СПАСИБО UwU
@user-qn6pq1dk5h
@user-qn6pq1dk5h Год назад
Сергей, спасибо за серию роликов. Потихоньку ползу вперёд, вот уже середина. Читаю вдобавок документацию и ищу дополнительные источники. Для меня IT в целом и Джанго в частности - все в новинку, но с вашими уроками намного проще материал усваивается. Очень рад, что нашёл ваш канал через курсы на степике:)
@KikrAzz
@KikrAzz Год назад
Прекрасно! Очень хорошая подача! Автор - молодец!
@user-ch4um4tg5o
@user-ch4um4tg5o 2 года назад
Много читал, смотрел и всегда оставалось много непонятных моментов! У Вас в материале все четко и понятно - нет пробелов в объяснении!!! Спасибо огромное !
@dmitryzagorevskiy507
@dmitryzagorevskiy507 2 года назад
По моему мнению методически отлично, и в остальном тоже замечательно! Примите очередную благодарность!
@3bbiani
@3bbiani 2 года назад
особенно примеры с фото подобраны методически верно - мотивируют продолжать смотреть курс =)
@pfk9025
@pfk9025 2 года назад
Отличный курс! не нарадуюсь!
@dimonk5250
@dimonk5250 2 года назад
Все великолепно показано и рассказано. Вам огромное спасибо. Просьба добавить в свою статью и видеоролик, Кнопку сброса данных в форме.
@airguy5964
@airguy5964 Год назад
Спасибо большое, отличный урок
@ildarEGE
@ildarEGE 2 года назад
Попробовал уже сам реализовать без видоса, чисто писал по документации и проблемы решал по StackOverFlow. Не так круто, как у вас получилось, конечно, но тоже работает. Спасибо большое)
@ShadowStormlq5mwdasd
@ShadowStormlq5mwdasd 2 года назад
Похоже у нас тут профессионал по известным женщинам)
@zov8488
@zov8488 8 месяцев назад
Спасибо тебе огромное, столько информации просмотрел, почему не сохраняет форму в базу, а оказывается в html -> enctype не указал, огромное спасибл
@alex_satan
@alex_satan 2 года назад
Отличный урок. Спасибо)
@iam_foreman
@iam_foreman Год назад
Сергей, спасибо большое!
@venmar4112
@venmar4112 11 месяцев назад
Автор, я тебя обожаю!!!! Если комменты ютуба индексируются поисковиками, то в этом видео есть ответ как убрать черточки в форме связанной с моделями!!! Три прекрасные строчки без танцев с бубнами))))
@TheFalenok
@TheFalenok Год назад
Дай Бог тебе здоровья
@sainco3036
@sainco3036 3 года назад
Спасибо. Жалко вчера не было видео. )
@seforaabigail6704
@seforaabigail6704 Год назад
спасибо! всё очень понятно!
@pilina_
@pilina_ Год назад
Было полезно, спасибо!
@eg5205
@eg5205 Год назад
Спасибо, урок бомба!
@user-yu7vi7dc9r
@user-yu7vi7dc9r 2 года назад
Оставляю комментарий свой, тк. это как-то влияет на популярность и помогает каналу. Но оставляю его потому, что информация подана прекрасно и я просто тащусь от учёбы сейчас, хотя хотел бросить :D
@vitali1959
@vitali1959 3 года назад
очень качественно!
@andredru4278
@andredru4278 Год назад
Спасибо. Было полезно.
@MrCipec
@MrCipec Год назад
Заметил, что здесь не добавляется URL сам, как в админке. Почему? И как сделать автозаполнение?
@wrestler91100
@wrestler91100 Год назад
из этого урока я узнал кто такая Анастасия Эшли))
@user-pg6mb6il1c
@user-pg6mb6il1c 3 года назад
Дай бог тебе здоровья. Вопрос... про ООП js все ещё в силе? Не забыто?
@user-ct7oy6rm8i
@user-ct7oy6rm8i 9 месяцев назад
СПАСИБО ОГРОМНОЕ!
@x_feel
@x_feel Год назад
Добрый день! Спасибо за информацию, очень полезно!! Подскажите, как создать валидатор на проверку заполненного поля в обход стандартного??
@Anonim-im6ln
@Anonim-im6ln 2 года назад
BOMBA!) ДЯКУЮ!!))😁❤️
@lowerman2526
@lowerman2526 2 года назад
а как можно разделить ввод даты и времени через 2 поля ввода для одной переменной datetime в базе данных?
@7IdE
@7IdE Год назад
Блин, братан, потрясающе объясняешь и рассказываешь. Просто изумительно. Слушаю и понимаю. К сожалению, знакомство с твоими уроками я начал с твоего курса на Степике. И я там просто ужаснулся от задач: кривые, косые, невнятное условие, которое не соответствует ни теме, ни данному тобой материалу. Причем насколько ты мне этим не понравился, что я с опаской решил посмотреть твои видосы по Джанге. И что я вижу? Я вижу просто потрясающий материал. Сделаем вид, что ютубовский ты и степиковский - 2 разных человека, кароч. Респект!
@selfedu_rus
@selfedu_rus Год назад
Спасибо! Просто задачи приходится четко (юридически) формулировать, иначе возникают претензии да и проверять на автомате можно только такие. Отсюда и результат такой.
@7IdE
@7IdE Год назад
​@@selfedu_rus, ну, с задачами там реально полный швах. Мне несколько раз приходилось перечитывать условие, чтобы понять, что ты от меня хочешь. Причем не "как выполнить", а именно "понять, что требуется". В одном месте я вообще не так и не понял - нужно выодить на печать или возвращать. Вот в видосах ты четко формулируешь поставленные задачи и в них же четко формулируешь то, что хочешь получить в итоге. Вот если такое же отношение перенести в задачи на Степике - будет конфетка. И, да, еще раз респект за объяснение теории.
@user-oq1ug4qp8k
@user-oq1ug4qp8k Год назад
Спасибо, отличное видео. А в админке как поменять свойство empty_label?
@user-ww9tk7nh8z
@user-ww9tk7nh8z 10 месяцев назад
Ты лучший
@ivanmain9659
@ivanmain9659 Год назад
Подскажите. А если мне нужно, чтобы категория в форме автоматически выбиралась, то как ее тут прописать? class AddPostForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields['cat'].empty_label = "Категория не выбрана" Нужно чтобы поле 'cat_id' подставляло себе id той категории, в которой мы уже находимся в данный момент
@vitaliiananiev5038
@vitaliiananiev5038 2 года назад
Вопрос не по теме но на него не могут ответить даже на Habar. Как в Detailview-шаблоне вывести форму таким образом что бы она тоже выводила информацию только во слагу(допустим с выпадающего списка)?
@Manu-ei6tn
@Manu-ei6tn Год назад
Подскажите, вот кнопки, например в вк и т.д., типа "Сохранить выбранную область фотографии" или "Опубликовать запись на стене" - т.е. кнопки, которые, как я понял, связаны с БД, - это специальная кнопка submit, которая у форм? Т.е. если я хочу сделать кнопку на сайте, которая как-то связана с БД, то мне обязательно нужно создавать форму и делать кнопку submit? Например кнопка "Удалить запись", которая удаляет запись на стене - это тоже нужно создавать форму и кнопку submit? Или как вообще такие кнопки создаются и настраиваются?
@rostislavmalyshev1775
@rostislavmalyshev1775 3 года назад
Спасибо, отличное видео! А часто ли в реальности приходится писать собственные валидаторы?
@selfedu_rus
@selfedu_rus 3 года назад
Нет, обычно встроенных хватает.
@yarik83men51
@yarik83men51 3 года назад
Спасибо
@MarchelloCSKAMoscow
@MarchelloCSKAMoscow 2 года назад
Подскажите , как убрать белую полосу внизу?
@AtomNuclearChannel
@AtomNuclearChannel 3 года назад
Доброго времени суток, спасибо за ваши труды! Такой вопрос, в 12 уроке вы показывали, как автоматом заполняется поле slug на основе title (prepopulated_fields = {'slug': ('title',)}) он работает только в админке, а как ее применить в форме?
@selfedu_rus
@selfedu_rus 3 года назад
В админке автоматом включается нужный JS код для такого заполнения. На страницах сайта мы сами контролируем какие скрипты будут выполняться в браузере, поэтому, нужно самостоятельно написать такой скриптик и подключить к форме.
@un678
@un678 2 года назад
@@selfedu_rus В принципе, можно ведь сгенерировать slug с помощью пользовательского валидатора, или это не желательно?
@user-oy5ey2eq2n
@user-oy5ey2eq2n Год назад
Не указали что коллекция widget в принципе определяет какими html тегами будет представлено данное поле, да оно может быть даже составным, виджет для даты например будет генерить 3 тега select. Возможность вносить любые атрибуты в тег(в том числе стиль) это лишь опция возможности виджета.
@Manu-ei6tn
@Manu-ei6tn 2 года назад
Привет. Для чего в Django в моделях и формах используется вложенный класс Meta? Я так понимаю, для основного функционала вложенных классов, т.е. чтобы использовать атрибуты внешнего и внутреннего классов независимо друг от друга и для удобства написания кода. Если есть еще что-то, можете написать?
@selfedu_rus
@selfedu_rus 2 года назад
в целом вы правы, особенностей каких то уникальных для вложенных классов нет, в основном - это удобство кода
@samaukin1983
@samaukin1983 3 года назад
не могу найти ошибку, при корректном заполнении формы всё работает, а при повторном URL и при более 200 символов никаких исключений не вызывается или не отображается текст ошибки(
@TheQQWEETT
@TheQQWEETT 2 года назад
Добрый вечер! Вы поняли, в чем ошибка? А то у меня аналогично
@user-yl5ni4wn3h
@user-yl5ni4wn3h 2 года назад
@@TheQQWEETT тоже с этим столкнулся. В файле addpage.html поменялась эта строчка {{ f.errors }}...(раннее в видео было {{ f.error_messages }})
@maksadylov6187
@maksadylov6187 2 года назад
@@TheQQWEETT Просмотрите урок 13 когда автор прописывал addpage.html и просто сравните конечный результат и вы увидите где была ошибка, в моем случае я просто не стер в цикле {{ form.f.errors }} а надо без form {{ f.errors }}
@777ElfenLied777
@777ElfenLied777 3 года назад
12:21 - в названии функции нужно указывать название поля из БД - это рекомендация для читабельности кода или обязательное условие?
@selfedu_rus
@selfedu_rus 3 года назад
обязательное условие, именно так Django понимает для какого поля определен этот метод
@dimonk5250
@dimonk5250 2 года назад
Как сделать, чтобы если нажал на кнопку отправить, сразу после всех не заполненных полей красным вылезло сообщение "не заполнено поле ". У меня если не заполнены все поля, при нажатие на кнопку отправить всплывает окошко только возле заголовка "Заполнить это поле". и оно не красное, как мы планировали. Как настроить это?
@selfedu_rus
@selfedu_rus 2 года назад
Можно средствами HTML сделать в поле пишете ключевое слово required
@David-yj5kv
@David-yj5kv 3 года назад
Здравствуйте. Не понимаю, откуда взялся атрибут empty_label (4:44) ? Где почитать про них? Я так понимаю таких мелочей по джанге разбросано очень много, как эффективно изучить или узнавать на месте, уже при написании форм, моделей и т.п.? Заранее извиняюсь если вопрос тупой. Хотел погуглить сам и в голову не приходит как такое гуглить. Спасибо за уроки
@selfedu_rus
@selfedu_rus 3 года назад
Да, таких мелочей масса! На мой взгляд, лучший вариант знакомиться с ними по мере необходимости, иначе, все равно из головы выветрится )
@loner7222
@loner7222 2 года назад
@@selfedu_rus оно и так из головы вылетит, ибо научно доказано, что уже через час, после изучения материала в любой форме, половину забывается. Кривая забывания Эббингауза. Для этого надо периодически повторять. А для первого раза изучения материала, удобнее писать конспект с подробным описанием + повторять тоже самое в проекте и в нём же вести уже краткую документацию по правилам PIP8. Далее этот проект можно будет использовать как подсказку для будущих тренировок или проектов.
@fannur6079
@fannur6079 2 года назад
У меня вопрос, можем ли мы использовать 2 разные формы на одной странице ? Возможно ли их как то объединить?
@selfedu_rus
@selfedu_rus 2 года назад
Да, конечно! Что значит объединить - неясно. У каждой формы по любому, свой обработчик (свой скрипт). Правда, для отображения двух форм нужно будет свой класс представления написать, вроде стандартные это не поддерживают? Но могу ошибаться.
@Shatal_Gusei
@Shatal_Gusei Год назад
Добрый день, курс отличный, спасибо большое!) Возник вопрос по времени 13:10, мне необходимо получить еще одну переменную из формы, что бы сравнить значения, а у меня почему то он их не видит. def clean_m(self): m = self.cleaned_data['m'] m_gch = self.cleaned_data['m_gch'] if m - m_gch < 0: raise ValidationError('Указали неверное значение') return m В чем может быть причина?
@wrestler91100
@wrestler91100 Год назад
насколько я понимаю должны возвращаться цифры, возможно возвращаются строки. запринти эти переменные, посмотри что внутри
@dmitrydmitry8774
@dmitrydmitry8774 Год назад
Народ помогите ! В этом примере автоматически сохраняется дата создания статьи. А как автоматически сохранить автора статьи (текущего пользователя ) ?
@user-mw2co3wb9k
@user-mw2co3wb9k 2 года назад
Спасибо большое за курс, очень нравится, благодаря вам, мне многое стало понятно. Спасибо. Есть такой вопрос, как правильно "оформлять" комментарии к постам, новый класс (или функцию) в views.py для них оформлять, или можно прямо к классу (или функции) для вывода детального просмотра поста код добавить?
@kirillezhov4552
@kirillezhov4552 2 года назад
Добрый вечер! Как в итоге оформили комменты?)
@user-mw2co3wb9k
@user-mw2co3wb9k 2 года назад
@@kirillezhov4552 Приветствую, есть такой учебник, называется "django 2 в примерах" там где страницу поста оформляют в блоге, подробно описано как комменты прикрутить, правда django 2 старенький, но у меня на django 3 всё работает. также, этим видео руководствовался ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-OdmeEBIRf_8.html
@kirillezhov4552
@kirillezhov4552 2 года назад
@@user-mw2co3wb9k понял! Спасибо 🙏🏻
@midaf3014
@midaf3014 2 года назад
Привет, можешь дать совет, что изучать вместе с Джанго и после него, все что я знаю, это синтаксис пайтона и немного HTML. И есть ли у меня до конца лета шансы, повысить свои знания до того, что смогу хоть немного зарабатывай на программировании?
@selfedu_rus
@selfedu_rus 2 года назад
В сайтостроении очень большой стек: Python, ООП Python, Django, DRF, БД, ORM (это только бэкенд и то не весь, самый минимум). Фронтэнд: JS, TypeScript, HTML, CSS, фреймворки фронтенда.
@vitaliiananiev5038
@vitaliiananiev5038 2 года назад
Подскажите веб-разработчику python нужно знать язык JS или всё возможности которые предоставляет JS можно прописать и питон-кодом?
@selfedu_rus
@selfedu_rus 2 года назад
Нет, JS + HTML + CSS + jQuery - это инструменты для фронтенд разработки (клиентской части сайта), а Python + Django + БД - это бэкенд (серверная часть сайта).
@vitaliiananiev5038
@vitaliiananiev5038 2 года назад
@@selfedu_rus Понял, спасибо!
@jamjam3337
@jamjam3337 7 месяцев назад
👏👍
@user-xw3km1bv5o
@user-xw3km1bv5o 9 месяцев назад
Подскажите пожалуйста. Как сделать валидацию МОДАЛЬНОЙ формы в Django? HTML валидация работает (модальный попап не закрывается), а если валидация "джанговская", то кнопка "отправить" закрывает форму. И если её открыть, то там уже будут отображаться ошибки в форме. Хотелось бы, чтобы форма не закрывалась при ошибках джанго. Спасибо)
@selfedu_rus
@selfedu_rus 9 месяцев назад
Это только через ajax (отправка и проверка формы через JS).
@alexanderselesnev3739
@alexanderselesnev3739 2 года назад
Я так понял, что фото может любое(png, jpeg, tiff, например), размер файла также любой, размер фото(ширина, высота) не ограничены. Или django как-то это учитывает. Или надо самому прописать в коде.
@selfedu_rus
@selfedu_rus 2 года назад
Любое, которое поддерживает браузер для отображения.
@alexanderselesnev3739
@alexanderselesnev3739 2 года назад
@@selfedu_rus Понятно. Спасибо.
@raulquliyev8605
@raulquliyev8605 2 года назад
Здравствуйте! Я уже давно смотрю ваш курс по джанго. Спасибо за такой курс. У меня проблема после загрузки фотографии. Пишет, что "no file selected" и "This field is required". это все выводит после того как я нажимаю кнопку добавить. Что может быть ?
@selfedu_rus
@selfedu_rus 2 года назад
Это поле отмечено как обязательное (в Django по умолчанию поля обязательные для заполнения) можете прописать в модели формы для этого поля параметр blank=True (вроде так он называется)
@raulquliyev8605
@raulquliyev8605 2 года назад
@@selfedu_rus но если я делаю бланк труе, ошибка исчезла, но это не значит что фото загрузился. Фото опят не зарузился. Я все делал так как вы указали на всех роликах курса. что еще может быть ?
@selfedu_rus
@selfedu_rus 2 года назад
@@raulquliyev8605 да, blank=True это просто необязательное поле. Детали почему не грузится, лучше в телеграм-канале с сообществом обсудить (ссылка под видео)
@sdv75
@sdv75 2 года назад
Добавил код def __int__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields['cat'].empty_label = "Категория не выбрана" но он не работает. Несколько раз проверил. Подскажите, что может быть?
@bulat7729
@bulat7729 2 года назад
Если что-то не работает значит где-то опечатка. В def __int__(self, *args, **kwargs): пропущена буква i в init.
@sdv75
@sdv75 2 года назад
@@bulat7729 Точно. Спасибо
@ibrahimoglu
@ibrahimoglu 2 года назад
👍
@user-mw2co3wb9k
@user-mw2co3wb9k 10 месяцев назад
А как быть в случае необходимости размещения на одной странице (в одной вьюшке) нескольких форм???
@selfedu_rus
@selfedu_rus 10 месяцев назад
Как вариант: pylab.ru/django-dve-formy-v-odnom-view/
@user-vc1py3nz7y
@user-vc1py3nz7y Год назад
А если мне не нравится стандартное сообщение валидатора( в видео это Известные женщины с таким URL уже существует. ) Как мне его поменять?
@selfedu_rus
@selfedu_rus 11 месяцев назад
Можно переопределить, используя параметр errors (вроде бы) или что-то похожее (см. документацию).
@Korolex1
@Korolex1 Год назад
У меня возник вопрос: можно ли поле slug сделать автозаполняемым , как в админке?
@selfedu_rus
@selfedu_rus Год назад
можно, только писать эту нужно самому на JS
@Korolex1
@Korolex1 Год назад
@@selfedu_rus а в админке, когда мы добавляем поле prepopulated_field ={....}, Django прописывает на JS?
@selfedu_rus
@selfedu_rus Год назад
@@Korolex1 нет, это вообще с нуля нужно писать самому в HTML
@folium5725
@folium5725 Год назад
не могу поределить widgets,выскакивает ошибка: TypeError: Field.__init__() got an unexpected keyword argument 'attrs', кто-то сталкивался с этим? Использую EmailField..
@selfedu_rus
@selfedu_rus Год назад
это в телеграм канал t.me/django_selfedu
@user-vr3kz3pd4l
@user-vr3kz3pd4l 2 года назад
А как эти формы можно с помощью Css стилей приобразовать ?
@selfedu_rus
@selfedu_rus 2 года назад
В шаблонах подключаете файлы стилей (это статические файлы) и в css прописываете оформление.
@user-vr3kz3pd4l
@user-vr3kz3pd4l 2 года назад
@@selfedu_rus я умею верстать немного но я не знаю как применить стили к уже готовой форме я так понимаю сконструированной через встроенные бекенд инструменты фреймворка Джанго...
@vitaliiananiev5038
@vitaliiananiev5038 2 года назад
Не пойму только как кнопка добавить связана с тем что бы добавить информацию ввода в БД
@selfedu_rus
@selfedu_rus 2 года назад
Посмотрите HTML-код. Там есть форма - тег form, а в нем указан атрибут action, который определяет скрипт, отвечающий за обработку переданных на сервер данных.
@vitaliiananiev5038
@vitaliiananiev5038 2 года назад
@@selfedu_rus спасибо большое! Я так понимаю любая кнопка в форме которая не ссылается на что-то будет передавать данные на сервер?
@tenessy9221
@tenessy9221 2 года назад
@@vitaliiananiev5038 передавать данные будет именно кнопка button с атрибутом type="submit"
@Manu-ei6tn
@Manu-ei6tn 2 года назад
@@selfedu_rus Но мы ведь прописали только URL, а скрипт не прописывали. Как тогда работает это?
@selfedu_rus
@selfedu_rus 2 года назад
@@Manu-ei6tn по этому URL будет отрабатывать представление Django, которое мы описали в бэкенде (программе)
@djekpiterson6575
@djekpiterson6575 2 года назад
Здравствуйте Всем Оставлю этот комментарий с целью возможно сэкономить время людей у которых будет такая же проблема. Вообщем тип у кнопки в теге должен быть submit (type="submit"), у меня стоял type="button" и форма не работала как должна т.е. не реагировала вообще ни на какие действия. Потратил кучу времени на поиск проблемы. Кстати пока искал почему не работает кнопка нашел инфу как сделать автоматическое заполнение поля slug в форме: Сначала нужно виртуальной середе установить модуль pip install python-slugify. Затем в файл views.py импортировать from slugify import slugify, затем в функции с формой после if form.is_valid(): прописать следующее addclient = form.save(commit=False) addclient.slug = slugify(addclient.first_name) - здесь указываем поле из модели по которому нужно сформировать слаг, если поля два то они указываются через конкатенацию (+), например: addclient.first_name+' '+addclient.last_name addclient.save() return redirect (здесь страница куда перенаправить после создания экземпляра) Переменная addclient это мое название (у вас может быть другое). И в файле forms.py из класса формы поле slug нужно удалить. Мне помогло
@_sergeevich5827
@_sergeevich5827 2 года назад
работает, спасибо за подсказку
@user-wt6bd1nr7z
@user-wt6bd1nr7z Год назад
все работает, спасибо. НО нужно указывать в нашем случае addclient.title
@helish_88
@helish_88 3 года назад
Курс очень хороший, спс, насчет Woman, вы не правильно читаете это слово
@uladzislawchyrets
@uladzislawchyrets 3 года назад
Спасибо
Далее
I Built 4 SECRET Rooms In ONE COLOR!
29:04
Просмотров 7 млн
НЕБЛАГОДАРНЫЙ ВНУК #shorts
00:22
Просмотров 499 тыс.
Микросервисы для Дебила
9:19
Просмотров 31 тыс.