Можно ли обойтись без 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. Как просто вернуться на страницу, не обновляя?
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.Вам це подобається? Поділіться в соціальних мережах!
Добрый день! У меня для вас есть идея по поводу реализации вашего функционала.
Как я понял, вы вызываете модальное popup окно и делаете некоторые действия, которые потом возвращаетесь в предыдущую форму.
В прошлом году я реализовывал следующий функционал.
У меня есть посты и коллекции, при создании поста, я могу в форме поста создать коллекцию через popup окно, а потом новая коллекция автоматически добавляется в поле коллекция в форме поста.
То есть это работает как в админке Django.
Для этого я использовал готовую батарейку, которая называется django_addanother
Посмотрите её, может это вам подойдёт.
Спасибо, посмотрю. Да, задача у меня, как вы поняли, следующая: отобразить страницу, вызвать модальное окно с формой, ввести данные,сохранить их в таблицу и закрыть модальное окно. Всё! Просто закрыть и не обновлять исходную страницу... Вот с этим и мучаюсь... Просто хотелось узнать, можно ли только стандартными инструментами Джанго это реализовать. Казалось бы, чего проще - вернутся туда, откуда и пришел... Наверное, без сторонних пакетов или того же Ajax эта задача нерешаема...
Спасибо!
Здесь точно нужно использовать Ajax. Посмотрите тот сторонний пакет, он не очень сложно настраивался, насколько помню.
ок