P
PisychFeb. 16, 2023, 2:59 a.m.

Можно ли обойтись без redirect() ?

Добрый день! На странице две формы, каждая со своим ID и сабмитом... Одна из форм (form2) показывается в модальном окне... Все хорошо работает, при нажатии на кнопку на странице отображается модальное окно, заполняется форма, все сохранаяется... Но! При сохранении во view стоит редерект на эту же страницу и она естественно, перерисовывается. Мне это не надо. Мне надо просто сохранить данные в модальном окне и закрыть его... Чем заменить redirect, чтобы просто остаться на этой же странице? Я пробовал return HttpResponseRedirect(request.META.get('HTTP_REFERER')), но это не то...
Вот часть view:

   if request.method == 'POST':
       form=NomForm(request.POST)
       form2=UnitForm(request.POST)
       print(request.POST)
       if form.is_valid():
           form.save()
           return redirect('NomList')
       if form2.is_valid():
           form2.save()
           return redirect('NomList')
   else:
       form=NomForm()
       form2=UnitForm()
       return render(request,'store/spr/NomList.html',{'title':"Номенклатура",'unit':unit,'form':form,'form2':form2,
   'btn_caption': 'Добавить', 'brd_class': 'border-secondary',
   'btn_class': 'btn-primary', 'pic_label': 'Номенкл.',
   'base_url': 'NomList', 'update_url': 'NomUpdate',
   'delete_url': 'NomDelete'})

Интересует return в form2. Как просто вернуться на страницу, не обновляя?

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

4
Evgenii Legotckoi
  • Feb. 16, 2023, 4:52 a.m.

Добрый день! У меня для вас есть идея по поводу реализации вашего функционала.
Как я понял, вы вызываете модальное popup окно и делаете некоторые действия, которые потом возвращаетесь в предыдущую форму.
В прошлом году я реализовывал следующий функционал.

У меня есть посты и коллекции, при создании поста, я могу в форме поста создать коллекцию через popup окно, а потом новая коллекция автоматически добавляется в поле коллекция в форме поста.

То есть это работает как в админке Django.

Для этого я использовал готовую батарейку, которая называется django_addanother

Посмотрите её, может это вам подойдёт.

    P
    • Feb. 16, 2023, 5:18 a.m.

    Спасибо, посмотрю. Да, задача у меня, как вы поняли, следующая: отобразить страницу, вызвать модальное окно с формой, ввести данные,сохранить их в таблицу и закрыть модальное окно. Всё! Просто закрыть и не обновлять исходную страницу... Вот с этим и мучаюсь... Просто хотелось узнать, можно ли только стандартными инструментами Джанго это реализовать. Казалось бы, чего проще - вернутся туда, откуда и пришел... Наверное, без сторонних пакетов или того же Ajax эта задача нерешаема...
    Спасибо!

      Evgenii Legotckoi
      • Feb. 16, 2023, 5:23 a.m.

      Здесь точно нужно использовать Ajax. Посмотрите тот сторонний пакет, он не очень сложно настраивался, насколько помню.

        P
        • Feb. 16, 2023, 5:25 a.m.

        ок

          Comments

          Only authorized users can post comments.
          Please, Log in or Sign up
          ОН

          C++ - Test 006. Enumerations

          • Result:10points,
          • Rating points-10
          K
          • KiRi4
          • Sept. 7, 2023, 7:57 a.m.

          C++ - Test 002. Constants

          • Result:41points,
          • Rating points-8
          K
          • KiRi4
          • Sept. 7, 2023, 7:49 a.m.

          C++ - Test 001. The first program and data types

          • Result:66points,
          • Rating points-1
          Last comments
          IscanderChe
          IscanderCheSept. 13, 2023, 9:11 a.m.
          QScintilla C++ example По горячим следам (с другого форума вопрос задали, пришлось в памяти освежить всё) решил дополнить. Качаем исходники с https://riverbankcomputing.com/software/qscintilla/downlo…
          Evgenii Legotckoi
          Evgenii LegotckoiSept. 6, 2023, 7:18 a.m.
          Qt/C++ - Lesson 048. QThread — How to work with threads using moveToThread Разве могут взаимодействовать объекты из разных нитей как-то, кроме как через сигнал-слоты?" Могут. Выполняя оператор new , Вы выделяете под объект память в куче (heap), …
          AC
          Andrei CherniaevSept. 5, 2023, 3:37 a.m.
          Qt/C++ - Lesson 048. QThread — How to work with threads using moveToThread Я поясню свой вопрос. Выше я писал "Почему же в методе MainWindow::on_write_1_clicked() Можно обращаться к методам exampleObject_1? Разве могут взаимодействовать объекты из разных…
          n
          nvnAug. 31, 2023, 9:47 a.m.
          QML - Lesson 004. Signals and Slots in Qt QML Здравствуйте! Прекрасный сайт, отличные статьи. Не хватает только готовых проектов для скачивания. Многих комментариев типа appCore != AppCore просто бы не было )))
          NSProject
          NSProjectAug. 24, 2023, 1:40 p.m.
          Django - Tutorial 023. Like Dislike system using GenericForeignKey Ваша ошибка связана с gettext from django.utils.translation import gettext_lazy as _ Поле должно выглядеть так vote = models.SmallIntegerField(verbose_name=_("Голос"), choices=VOTES) …
          Now discuss on the forum
          IscanderChe
          IscanderCheSept. 17, 2023, 9:24 a.m.
          Интернационализация строк в QMessageBox Странная картина... Сделал минимально работающий пример - всё работает. Попробую на другой операционке. Может, дело в этом.
          NSProject
          NSProjectSept. 17, 2023, 8:49 a.m.
          Помогите добавить Ajax в проект В принципе ничего сложного с отправкой на сервер нет. Всё что ты хочешь отобразить на странице передаётся в шаблон и рендерится. Ты просто создаёшь файл forms.py в нём описываешь свою форму и в …
          BlinCT
          BlinCTSept. 15, 2023, 12:35 p.m.
          Размеры полей в TreeView Всем привет. Пытаюсь сделать дерево вот такого вида Пытаюсь организовать делегат для каждой строки в дереве. ТО есть отступ какого то размера и если при открытии есть под…
          IscanderChe
          IscanderCheSept. 8, 2023, 12:07 p.m.
          Кастомная QAbstractListModel и цвет фона, цвет текста и шрифт Похоже надо не абстрактный , а "реальный" типа QSqlTableModel Да, но не совсем. Решилось с помощью стайлшитов и setFont. Спасибо за отлик!
          Evgenii Legotckoi
          Evgenii LegotckoiSept. 6, 2023, 6:35 a.m.
          Вопрос: Нужно ли в деструкторе удалять динамически созданные QT-объекты. Напр: Зависит от того, как эти объекты были созданы. Если вы передаёте указатель на parent объект, то не нужно, Ядро Qt само разрулит удаление, если нет, то нужно удалять вручную, иначе будет ут…

          Follow us in social networks