Как иметь одну форму на нескольких страницах - PullRequest
0 голосов
/ 12 июня 2019

Я ищу способы лучше всего обрабатывать одну форму на нескольких страницах. Например, подписка на новостную рассылку может быть на домашней странице, странице о программе и нескольких страницах блога.

Я обработал этот точный сценарий этими двумя способами.

  1. Напишите API (используя DRF), который принимает запрос POST, а затем укажите обычную HTML-форму на этот API. Это работает и очень гибко, но кажется излишним.

  2. Передайте объект формы в контекст каждого представления, в котором я хочу, чтобы форма была включена, а затем включите его в шаблон с помощью includes form_snippet with form=form

Первый подход более гибок с трясогузкой, где все, что должно произойти на стороне администратора, - это включение новостной рассылки в виде фрагмента, где пользователь с правами администратора может выбрать, хотят ли они новостную рассылку на странице или нет ,

Хотя оба подхода работают отлично, ни один из них не чувствует себя хорошо, так как я думаю, что есть простой способ сделать это без создания большого API или передачи объекта формы каждому отдельному представлению.

1 Ответ

0 голосов
/ 13 июня 2019

Я сделал это с помощью контактной формы.Я обработал это с новым приложением для моей контактной формы.В этом contactApp есть шаблоны / contactForm.html.Чтобы включить эту контактную форму, где я хочу, я использую {% include 'contact/contactForm.html' %}, чтобы она загружала contactForm.html из моего приложения под названием contact.

...