Размещение одной фрмы Django на всех страницах сайта

Друзья, здравствуйте. Я создал форму подписки. Пока я ее реализовал просто как html-форму. Она сидит у меня в отдельном шаблоне, который инклюдится во все остальные шаблоны сайта. Но я никак не могу понять, как мне ее совместить с Django Forms? Ведь тогда я должен буду прописать конкретный URL и, соответственно только на эту страницу она и будет рендериться. Вот я в тупике и не знаю, что делать... Надеюсь на вашу помощь. Возможно есть вариант и не использовать Django Forms, но тогда я не понимаю, какую логику прописать во вьюхе.

Форма в шаблоне
<form id="subscribe_form" class="needs-validation container" novalidate>
            {% csrf_token %}
            <input type="text" id="subscribe_page" class="form-control" value="{{ title }}" hidden required/>
            <div class="modal-body">

                <div class="md-form mb-5">
                    <i class="fas fa-user prefix grey-text"></i>
                    <input type="text" id="subscribe_name" class="form-control" value="" required/>
                    <label for="subscribe_name">Ваше имя</label>
                    <div class="invalid-feedback">Это поле не должно быть пустым.</div>

                </div>

                <div class="md-form">
                    <i class="fas fa-envelope prefix grey-text"></i>
                    <input class="form-control" type="email" value="" id="subscribe_email" required>
                    <label class="form-check-label" for="subscribe_email">Ваш e-mail</label>
                    <div class="invalid-feedback">Введите правильный e-mail</div>
                </div>

            </div>

            <div class="modal-footer justify-content-center">
                <button class="btn btn-outline-blue-grey waves-effect">Записаться <i
                        class="fas fa-paper-plane-o ml-1"></i></button>
            </div>
        </form>

Примерный код во view.py

def subscribe(request):
    if request.method == 'POST':
        name = request.POST['name']
        email = request.POST['email']
        page = request.POST['page']
        mail = send_mail('Subject', 'Content', '[email protected]', ['[email protected]'], fail_silently=True)
    if mail:
        messages.success(request, 'Письмо отправлено!')
        return HttpResponse(messages)
    else:
        messages.error(request, 'Ошибка отправки')
        return HttpResponse('Ok')
    return HttpResponse('Ok')

Ответы (1 шт):

Автор решения: alex

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

→ Ссылка