Design contact forms, search forms etc from the Django admin, without writing any code. Integrates with Django CMS.
Switch branches/tags
Nothing to show
Pull request Compare This branch is 1 commit ahead, 23 commits behind romlok:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Django Form Designer

A Django app for building many kinds of forms visually, without any programming knowledge.

Key features:

  • Design contact forms, search forms etc from the Django admin, without writing any code
  • Form data can be logged and CSV-exported, sent via e-mail, or forwarded to any web address
  • Integration with Django CMS: Add forms to any page
  • Use drag & drop to change the position of your form fields
  • Fully collapsible admin interface for better overview over your form
  • Implements many form fields included with Django (TextField, EmailField, DateField etc)
  • Validation rules as supplied by Django are fully configurable (maximum length, regular expression etc)
  • Customizable messages and labels
  • Supports POST and GET forms


This install guide assumes that you are familiar with Python and Django.

  • Install the module using pip:

    $ pip install git+git://

    or download it from, and run the installation script:

    $ python install

Basic setup

  • Add form_designer to your INSTALLED_APPS setting:

  • Set up the database tables using:

    $ syncdb

    or, if you are using South:

    $ migrate form_designer
  • If you are using django.contrib.staticfiles (recommended), just run the usual command to collect static files:

    $ python collectstatic


    Please refer to the Django documentation on how to set up the static files app if you have not done that yet.

    If you are not going to use the staticfiles app, you will have to copy the contents of the static folder to the location you are serving static files from.

  • Add the URLs to your URL conf. For instance, in order to make a form named example-form available under, add the following line to your project's

    urlpatterns = patterns('',
        (r'^forms/', include('form_designer.urls')),


    If you are using the form_designer plugin for Django CMS for making forms public, this step is not necessary.

Using Django Form Designer with Django CMS

  • Add form_designer.contrib.cms_plugins.form_designer_form to your INSTALLED_APPS setting:

  • Optionally add ``form_designer.middleware.RedirectMiddleware to MIDDLEWARE_CLASSES to handle redirects:

  • Set up the database tables using:

    $ syncdb

You can now add forms to pages created with Django CMS.

Optional requirements

The form_designer admin interface requires jQuery and the jQuery UI Sortable plugin to make building forms a lot more user-friendly. The two Javascript files are bundled with form_designer. If you want to use you own jquery.js instead because you're already including it anyway, define JQUERY_JS in your settings file. For instance:

JQUERY_JS = 'jquery/jquery-latest.js'