Настроил форму:
forms.py
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField(max_length = 100)
sender = forms.EmailField()
phone = forms.CharField()
message = forms.CharField()
copy = forms.BooleanField(required = False)
views.py
def contactView(request):
if request.method == 'POST':
form = ContactForm(request.POST)
#Если форма заполнена корректно, сохраняем все введённые пользователем значения
if form.is_valid():
subject = form.cleaned_data['subject']
sender = form.cleaned_data['sender']
phone = form.cleaned_data['phone']
message = form.cleaned_data['message']
copy = form.cleaned_data['copy']
recipients = ['serega_s98@mail.ru']
#Если пользователь захотел получить копию себе, добавляем его в список получателей
if copy:
recipients.append(sender)
try:
send_mail(subject, message, 'serega_s98@mail.ru', recipients)
except BadHeaderError: #Защита от уязвимости
return HttpResponse('Invalid header found')
#Переходим на другую страницу, если сообщение отправлено
return render(request, 'pages/thanks.html')
else:
#Заполняем форму
form = ContactForm()
#Отправляем форму на страницу
return render(request, 'pages/contact.html', {'form': form})
urls.py
urlpatterns = [
url(r'^contact/$', views.contactView)
]
contact.html
{% block content %}
<form action="/contact/" method="post">{% csrf_token %}
{{ form.non_field_errors }}
<div>
<label for="id_subject">Тема:</label>
{{ form.subject.errors }}
{{ form.subject }}
</div>
<div>
<label for="id_sender">E-mail:</label>
{{ form.sender.errors }}
{{ form.sender }}
</div>
<div>
<label for="id_sender">Phone:</label>
{{ form.phone.errors }}
{{ form.phone }}
</div>
<div>
<label for="id_message">Комментарий:</label>
{{ form.message.errors }}
{{ form.message }}
</div>
<div>
{{ form.copy.errors }}
<label for="id_copy">Отправить копию себе {{ form.copy }}</label>
</div>
<input type="submit" value="Отправить"/>
</form>
{% endblock %}
При всем при этом я страницу /contact/ выгружаю на index
$("#cchrome").load("http://127.0.0.1:8000/contact");
Но вот при отправки формы, не зависимо с index или c /contact/, страница обновляется и показывает ошибку Server Error (500)
Как починить ? =(