Skip to main content

A reusable app to add a basic and configurable contact form.

Project description

Contact Form App
================

This is aimed to be a reusable app for our cookiecutter.
Django CMS integration is provided.
It add a generic contact form with some basic configuration made available via the admin.


Install
-------

- create your virtualenv and `pip install -r requirements.txt`. For dev purposes, `pip install -r requirements-dev.txt`.

- In your `INSTALLED_APPS`, add:

```python
'modeltranslation', # translation within models
...
'django.contrib.site',
'django.contrib.sitemaps',

'django-countries', # needed for the CountryField
'crispy_forms', # nice looking forms
'crispy_forms_foundation',
'captcha',
'emencia_contact_form',
```

`modeltranslation` should be placed on top of the installed apps.

There is an automatic check which makes sure all of these apps are in INSTALLED_APPS.

- captcha: signup for [recaptcha](https://github.com/praekelt/django-recaptcha) and follow their installation process on their repo. (adding RECAPTCHA_PUBLIC_KEY, RECAPTCHA_PRIVATE_KEY in your settings and so on..)

- Add url(r'^', include('emencia_contact_form.urls')) in your urls.py

- Ensure you're using foundation with crispyforms, in your settings, add:

```python
CRISPY_ALLOWED_TEMPLATE_PACKS = (
'bootstrap',
'uni_form',
'bootstrap3',
'bootstrap4',
'foundation-5',
)
CRISPY_TEMPLATE_PACK = 'foundation-5'
```

Configuration
-------------

- Site: in django Admin, rename the site by default. Ensure you have SITE_ID = 1 in your settings.py

- You can then edit the ContactFormSettings in the admin to configure the email.

- EMAIL BACKEND: on success, the contact form send an email. You need to have it configured to have it working properly. [Django Email Backend](https://docs.djangoproject.com/en/1.10/ref/settings/#std:setting-EMAIL_BACKEND)

- sitemaps: A sitemap is available in contact_form/sitemaps.py
Configuration on the django settings and url has to be done. [doc](https://docs.djangoproject.com/en/1.10/ref/contrib/sitemaps/)


TEST & DEV
----------

There is requirements-dev.txt with pdb, django-extensions and pygraphviz.

Run tests with the following command:
`pytest`

To create a new db while running tests: `pytest --create-db`
The default behavior reuse the same db for performance reasons

Project details


Release history Release notifications

This version
History Node

0.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
emencia_contact_form-0.3-py3-none-any.whl (25.5 kB) Copy SHA256 hash SHA256 Wheel 3.4 Jan 12, 2017
emencia_contact_form-0.3.tar.gz (27.2 kB) Copy SHA256 hash SHA256 Source None Jan 12, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page