Вывод и обработка формы django
Есть форма для получения e-mail юзера, вроде всё сделал как надо, но инпут не выводится. Пробовал оставить инпут из шаблона, и работать с ним, но форма всё равно не обрабатывается, перебрасывает на другой адрес, и ничего не происходит даже если добавить редирект.
form
class EmailForm(forms.Form):
email = forms.EmailField(label='', widget=forms.EmailInput({'class': 'form-control col-4'}))
html
<div class="save-sum container container-cat bg-dark mb-4">
<h4 class="text-light p-2">Save sum of your estimate</h4>
<div class="input-group mb-3">
<form action="{% url 'email'%}">
{% csrf_token %}
{{ email_form }}
{# <input type="text" class="form-control col-4" placeholder="E-mail" name="email">#}
<div class="input-group-append">
<button class="btn btn-success" type="submit">Send</button>
</div>
</form>
</div>
</div>
urls
from django.urls import path
from .views import *
urlpatterns = [
path('<str:slug>/', HomePage.as_view(), name='type'),
path('email_form/', send_email, name='email')
]
views
def send_email(request):
if request.method == 'POST':
email_form = EmailForm(request.POST)
if email_form.is_valid():
mail = send_mail('Hello from estimate', 'Hi, it`s only a letter from Estimate.', '[email protected]',
[email_form.cleaned_data['email']], fail_silently=True)
if mail:
print('E-mail sended')
else:
print('error')
else:
email_form = EmailForm()
return render(request, 'app_calculator/index.html', {'email_form': email_form})