Отображение формы Django
Не понимаю как реализовать сбор данных из формы на простом сайте. Алгоритм следующий:
Получаем site.ru из
url, через общийulrs.pyпо''пустой ссылке подключаем основное приложениеurlpatterns = [ path('admin/', admin.site.urls), path('',include('Offer.urls')), path('blog/',include('blog.urls')), ]Далее по urls.py
''пустому запросу подключаетсяFBVрендер страницыinfo.htmlкоторый наследуется(extends) отbase.html, в котором включён(include)mailto.html; Такая же логика при переходе по ссылке к contacts.htmlurlpatterns = [ path('', views.info, name="info"), path('contacts', views.contacts, name="contacts"), path('', views.sent_OfferMail, name="sentmail"), ]
Вот views.py
from django.shortcuts import render
from .forms import Offers_MailForm
def info(request):
return render(request, 'Offer/info.html')
def contacts(request):
return render(request, 'Offer/contacts.html')
def sent_OfferMail(request):
form = Offers_MailForm
data = {'form':form}
return render(request, 'Offer/mailto.html', data)
Пробовал: добавлять в urls.py ещё один пустой запрос (как в примере выше), не работает;
А если ставить его выше views.urls то не грузится главная /info.html, что логично для python. Зато отлично отрабатывает форма и она отображается исправно. Это должно как-то подталкивать на решение, но у меня тупик;
То же самое и через Class Based Views в частности FormView
Я хочу без конкретной ссылки чтоб работал шаблон mailto.html, но не понимаю как ему сделать view который будет отрабатываться при любом адресе в url строке.
Более подробно код на моём GitHub
Может проблема с самим шаблоном mailto.html
<form method="post" class="row">
{% csrf_token %}
{{ form }}
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Ваш Email, чтобы я cмог вам ответить</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
<div id="emailHelp" class="form-text">Все данные защищены и не передаются третим лицам</div>
</div>
<div class="form-group field-crq_msg required has-error">
<label class="control-label" for="crq_msg">Напечатайте ваше сообщение:</label>
<textarea id="crq_msg" class="form-control" name="crq_msg" aria-required="true" aria-invalid="true"></textarea>
</div>
<button type="submit" class="btn btn-primary ms-3">Submit</button>
</form>
по сути шаблон грузится, но форма от DTL {{теги}}, явно связываются только если в url дать отдельную ссылку, но тогда форма будет только по ней работать, а я хочу с каждого существующего url принимать данные. Но появятся ещё страницы куда я захочу сделать
{% include 'mailt.to' %}