Provide a simple mixin which bakes a contact form(send emails on submit) into the inheriting classes, specifically Wagtail pages.
The mixin is an abstract Django model which has an enquiry_email field. This field is also added to the content_panels.
pip install https://github.com/regulusweb/wagtail-contact/archive/master.zip
Be sure to add honeypot
, crispy_forms
, and wagtailcontact
to INSTALLED_APPS in settings.py.
The contact form uses django-honeypot
to prevent automated form spam and
django-crispy-forms
to spice things up.
Note: The crispy helper has form_tag
set to False
to make it easy
to render the honeypot field within the form.
Set the CRISPY_TEMPLATE_PACK
in your settings. django-honeypot
also requires a few settings to be declared in settings.py.
See django-honeypot for more information.
The Wagtail page you want to add this functionality should extend
wagtailcontact.mixins.ContactMixin
.
When rendering the form in your page template be sure to add the honeypot field using the
render_honeypot_field
tag. Otherwise a HTTP BadRequest will explode when you try to submit the form without this.
Like so:
{% load honeypot %}
And then within the form include the honeypot field:
{% render_honeypot_field %}
You can either invoke python runtests.py
, or python setup.py test