django-dynamic-forms lets you create your forms through the Django admin. You can add and remove form fields as you need them. That makes it perfect for creating survey or application forms.
Documentation: https://django-dynamic-forms.readthedocs.org/
Add 'dynamic_forms.apps.DynamicFormsConfig'
to the INSTALLED_APPS
:
INSTALLED_APPS = ( ... 'dynamic_forms.apps.DynamicFormsConfig', ... )
Add 'dynamic_forms.middlewares.FormModelMiddleware'
to the
MIDDLEWARE_CLASSES
(probably at the end):
MIDDLEWARE_CLASSES = ( ... 'dynamic_forms.middlewares.FormModelMiddleware' )
Add 'dynamic_forms.urls'
to the URL patterns:
urlpatterns = patterns('', ... url(r'^dynamic_forms/', include('dynamic_forms.urls', namespace='dynamic_forms')), ... )
Important
Make sure that you get the namespace straight: dynamic_forms
!
You can set DYNAMIC_FORMS_EMAIL_RECIPIENTS
in your settings to a list of
e-mail addresses. Forms being send via e-mail will then be send to those
addresses instead of those defined in settings.ADMINS
. Each recipient will
see all other recipients. See send_mail
in the officiall documentation.
- Change into the
example/
directory - Apply all migrations:
python manage.py migrate
- Create a superuser (if not asked before):
python manage.py createsuperuser
- Run
python manage.py runserver
The admin is available at http://127.0.0.1:8000/admin/.
You can find an example form at http://127.0.0.1:8000/example-form/.
- Make sure to install tox:
$ pip install tox
- Run
tox