Мне нужно, чтобы пользователи отправляли мне по электронной почте через мой веб-сайт лицевую и обратную сторону своего идентификатора для подтверждения. Почему моя форма возвращает «Это поле обязательно для заполнения». когда все заполнено? Что я сделал не так?
views.py
def market(request):
if request.method == 'GET':
form = ContactForm()
else:
form = ContactForm(request.POST)
if form.is_valid():
from_email = form.cleaned_data['from_email']
subject = form.cleaned_data['subject']
address = form.cleaned_data['address']
id_front = form.cleaned_data['id_front']
additional_details = form.cleaned_data['additional_details']
try:
send_mail(from_email, subject, id_front, address, additional_details, ['admin@example.com'])
except BadHeaderError:
return HttpResponse('Invalid header found.')
return redirect('market_success')
return render(request, "market.html", {'form': form})
def market_success(request):
return HttpResponse('Success! We have received your request and will get back to you soon.')
forms.py
class ContactForm(forms.Form):
from_email = forms.EmailField(required=True)
subject = forms.CharField(required=True)
address = forms.CharField(required=True)
id_front = forms.ImageField(required=True)
additional_details = forms.CharField(widget=forms.Textarea, required=True)
html
{% extends 'base.html' %}
{% block title %}Market{% endblock %}
{% block content %}
<p>To request to market your property with us, please fill out the form below.</p>
<form method="post" enctype="multipart/form-data" class="post-form">
{% csrf_token %}
{{ form.as_p }}
<div class="form-actions">
<button type="submit">Send</button>
</div>
</form>
{% endblock %}