Несмотря на то, что вы хотите, чтобы контактная форма появлялась на каждой странице, я все равно оставлял бы специальную страницу ContactFormPage И помещал форму в каждом нижнем колонтитуле. Запрос POST должен указывать на этот выделенный ContactFormPage.
<form action='{% pageurl contact_page' %}' ...>
Преимущества:
- когда контактная форма содержит ошибки, вы находитесь на специальной странице
с акцентом на задачу под рукой.
- Нет необходимости прокручивать назад в нижний колонтитул при возникновении ошибки.
- Легко добавить страницу успеха через RoutablePageMixin
- URL контактной формы для совместного использования
Форма HTML может быть включена через:
- тег шаблона включения (ответ Гасмана)
- промежуточное ПО (ответ shouravs)