Есть простая форма обратной связи, для отображения использую views.generic.FormView:
class ContactFormMixin(object):
def form_valid(self, form):
cleaned_data = form.cleaned_data
send_mail(
cleaned_data['subject'],
cleaned_data['message'],
cleaned_data.get('email', 'noreply@noreply.com'),
[mail[1] for mail in settings.ADMINS],
)
return super(ContactFormMixin, self).form_valid(form)
def get_success_url(self):
return ''
class ContactFormView(ContactFormMixin, FormView):
template_name = 'contact_form/contact_form.html'
form_class = ContactForm
Пытаюсь понять как можно сделать чтобы get_success_url отправлял на туже страницу но с доп флагом что письмо отправлено успешно (сейчас просто отправляет на туже страницу), хочется что-то вроде render_to_response с указанным доп флагом. В шаблоне хочется видеть такое:
{% if is_successful%}
Message sended.
{% endif %}
<form action="" method="post">{% csrf_token %}
<p>{{ form.as_ul }}</p>
<input type="submit" value="{% trans "Contact Us" %}" />
</form>