django-dynamic-forms
django-dynamic-forms copied to clipboard
django-dynamic-forms is a reusable Django application to create and configure forms through the admin.
=================== Django Dynamic Form
.. image:: http://unmaintained.tech/badge.svg :target: http://unmaintained.tech/ :alt: No Maintenance Intended
.. image:: https://img.shields.io/pypi/v/django-dynamic-forms.svg :target: https://pypi.python.org/pypi/django-dynamic-forms
.. image:: https://img.shields.io/pypi/l/django-dynamic-forms.svg :target: https://pypi.python.org/pypi/django-dynamic-forms
.. image:: https://img.shields.io/pypi/dm/django-dynamic-forms.svg :target: https://pypi.python.org/pypi/django-dynamic-forms
.. image:: https://img.shields.io/travis/MarkusH/django-dynamic-forms/master.svg :target: https://travis-ci.org/MarkusH/django-dynamic-forms
.. image:: https://img.shields.io/codecov/c/github/MarkusH/django-dynamic-forms/master.svg :target: https://codecov.io/github/MarkusH/django-dynamic-forms
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/
INSTALLATION
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 <https://docs.djangoproject.com/en/stable/topics/email/#django.core.mail.send_mail>
_
in the officiall documentation.
Example
- 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/.
Running the tests
- Make sure to install tox:
$ pip install tox
- Run
tox