Я ищу способы лучше всего обрабатывать одну форму на нескольких страницах. Например, подписка на новостную рассылку может быть на домашней странице, странице о программе и нескольких страницах блога.
Я обработал этот точный сценарий этими двумя способами.
Напишите API (используя DRF), который принимает запрос POST, а затем укажите обычную HTML-форму на этот API. Это работает и очень гибко, но кажется излишним.
Передайте объект формы в контекст каждого представления, в котором я хочу, чтобы форма была включена, а затем включите его в шаблон с помощью includes form_snippet with form=form
Первый подход более гибок с трясогузкой, где все, что должно произойти на стороне администратора, - это включение новостной рассылки в виде фрагмента, где пользователь с правами администратора может выбрать, хотят ли они новостную рассылку на странице или нет ,
Хотя оба подхода работают отлично, ни один из них не чувствует себя хорошо, так как я думаю, что есть простой способ сделать это без создания большого API или передачи объекта формы каждому отдельному представлению.