django-dynamic-forms is a reusable Django application to create and configure forms through the admin.
Clone or download


Django Dynamic Form

No Maintenance Intended

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.



Add 'dynamic_forms.apps.DynamicFormsConfig' to the INSTALLED_APPS:


Add 'dynamic_forms.middlewares.FormModelMiddleware' to the MIDDLEWARE_CLASSES (probably at the end):


Add 'dynamic_forms.urls' to the URL patterns:

urlpatterns = patterns('',
        include('dynamic_forms.urls', namespace='dynamic_forms')),


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.


  1. Change into the example/ directory
  2. Apply all migrations: python migrate
  3. Create a superuser (if not asked before): python createsuperuser
  4. Run python runserver

The admin is available at

You can find an example form at

Running the tests

  1. Make sure to install tox: $ pip install tox
  2. Run tox