#45. Отображение полей формы. Сохранение переданных данных в БД | Уроки по Django 4

Поделиться
HTML-код
  • Опубликовано: 30 сен 2024
  • Практический курс по Django: stepik.org/a/1...
    Телеграм-канал Django: t.me/django_se...
    Инфо-сайт: proproprogs.ru...
    Способы отображения полей формы в HTML-шаблоне. Добавление CSS-стилей оформления для полей и HTML-атрибутов. Сохранение переданных данных в таблице БД.
    45_sitewomen.zip: github.com/sel...
    Классы и параметры полей формы: docs.djangopro...

Комментарии • 23

  • @mainkun1983
    @mainkun1983 Месяц назад +1

    У меня возник вопрос, я все сделал точно так же как и на видео, и все работает, формы заполняются, запросы улетают в БД.
    Но когда выбираешь в поле "Муж" - любую запись из выпадающего списка, то форма перестает отправляться в бд, и при этом ошибки никакой не появляется.

  • @Liz-ll3hb
    @Liz-ll3hb 11 месяцев назад +2

    В class AddPostForm(forms.Form) я добавила поле с тегами (которое со связью многие-ко-многим):
    tags = forms.ModelMultipleChoiceField(queryset=TagPost.objects.all(), widget=forms.CheckboxSelectMultiple, label='Теги', required=False)
    И данные из формы перестали добавляться в модель Posts и соответственно выводится "Ошибка добавления поста". Как только я эту строку комментирую, новая запись успешно добавляется. Как решить эту проблему?

    • @selfedu_rus
      @selfedu_rus  11 месяцев назад

      Вопрос в ТГ-канал.

    • @olegkarbaev8433
      @olegkarbaev8433 8 месяцев назад

      def addpage(request): # добавление данных в бд
      if request.method == 'POST': # если запрос POST, сохраняем данные
      form = AddPostForm(request.POST) # Объект класса формы в HTML.
      if form.is_valid():
      cd = form.cleaned_data # Отчищенные данные от формы в type Dic.
      try:
      # Объект класса модели с полями в которые будем сохранять введенные данные.
      women= Women(
      title=cd['title'],
      content=cd['content'],
      cat=cd['cat'],
      status=cd['status'],
      )
      women.save()
      # Для отношения Many to Many получаем список (list) id выбранные tags.
      tag_ids = request.POST.getlist("tags")
      # Получаем список (list) QuerySet выбранных tag_id.
      tags = TagPost.objects.filter(id__in=tag_ids)
      announcement.tags.set(tags) # сохраняем данные
      return redirect('home')
      except:
      form.add_error(None, 'Ошибка добавления поста')
      else:
      form = AddPostForm()
      data = {
      'title': 'Опубликовать',
      'menu': menu,
      'form': form,
      }
      return render(request, 'woment/addpage.html', data)

    • @olegkarbaev8433
      @olegkarbaev8433 8 месяцев назад

      class AddPostForm(forms.ModelForm):
      cat = forms.ModelChoiceField(queryset=Category.objects.all(), required=False, label="Город", empty_label="Выберете категорию")
      tags = forms.ModelMultipleChoiceField(queryset=TagPost.objects.all(), required=False, label='Оснащение', widget=forms.CheckboxSelectMultiple)
      class Meta:
      model = Women
      fields = ['title', 'content', 'status']

  • @zakchips
    @zakchips 11 месяцев назад +2

    Спасибо большое. Очень бы хотела видео с unittest исключений (встроенных и кастомных) . Может быть получится создать его. Благодарю заранее.

  • @Максим_Высочанский
    @Максим_Высочанский 3 месяца назад +1

    Касаемо добавления в БД. У меня срабатывает исключение. Не могу понять поему.
    При этом print(form.cleaned_data) в терминал мне выводит введённые данные.
    В чем может быть проблема?

    • @selfedu_rus
      @selfedu_rus  3 месяца назад

      Вопрос в ТГ-канал по Django

    • @-zerotwo9444
      @-zerotwo9444 2 месяца назад

      Если ещё актуально, то, возможно, вы для мужа выбирали того, кто уже занят, а поле husband уникальное.

    • @McClean974
      @McClean974 Месяц назад

      ​@@-zerotwo9444 я на это напоролся,у меня не добавлялась запись и всегда срабатывало исключение))
      позже просто создал новую запись в husband и создавая новую статью добавил его в качестве мужа,сработало
      но не понял,где мы указывали,что husband= unique?

  • @forever3115
    @forever3115 10 месяцев назад +2

    Как всегда - спасибо за урок, маэстро!
    Но не могли бы вы показать пример оформления стилей?

  • @obyeboshen
    @obyeboshen 11 месяцев назад +1

    7:32 может я не так понял автора, но в шаблоне единое оформление указано для лейблов, а дальше в ролике отдельно уже прописывается стиль самих полей

  • @evgenyzakiev693
    @evgenyzakiev693 11 месяцев назад +1

    Спасибо, Сергей! Здоровья тебе🤝

  • @andredru4278
    @andredru4278 10 месяцев назад +1

    Спасибо. Отличный материал.

  • @HeyArtem
    @HeyArtem 5 месяцев назад +1

    Спасибо, очень вкусно!😄

  • @TSM_149
    @TSM_149 11 месяцев назад +1

    Здорово! Спасибо! 🤝🙏

  • @КириллКалита-ч3ж
    @КириллКалита-ч3ж 11 месяцев назад +1

    Спасибо!! Отличное видео!

  • @mingboevnurullo
    @mingboevnurullo 11 месяцев назад +1

    just legend

  • @mmbn3047
    @mmbn3047 11 месяцев назад +1

    Здравствуйте хочу у вас спросить,а вы случайно не читали книгу Антонио Меле Django в примерах? Просто замечаю очень схожий синтаксис как и у него в книге ,поэтому и интересно

    • @selfedu_rus
      @selfedu_rus  11 месяцев назад

      Да, читал. Но не опирался на нее. А синтаксис похожий у многих )

    • @mmbn3047
      @mmbn3047 11 месяцев назад

      принял,спасибо большое за ответ,правда было интересно узнать@@selfedu_rus

  • @ibrahimoglu
    @ibrahimoglu 11 месяцев назад +1

    👍

  • @maxd.578
    @maxd.578 11 месяцев назад +1

    Супер!