Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A simple form designer for FeinCMS

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 docs
Octocat-spinner-32 form_designer
Octocat-spinner-32 tests tox.ini: Explicitly add the mptt dependency, FeinCMS 1.7.x did not in… November 26, 2013
Octocat-spinner-32 .gitignore Start adding a testsuite November 26, 2013
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 LICENSE Add LICENSE December 21, 2010
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.rst
Octocat-spinner-32 setup.cfg
Octocat-spinner-32 setup.py
README.rst

Form Designer - a simple form designer for FeinCMS

https://travis-ci.org/feincms/form_designer.png?branch=master

This form designer does not try to offer every last configuration possibility of Django's forms, just through the administration interface instead of directly in Python code. Instead, it strives to be a tool which everyone can use right away, without the need for long explanations.

It offers a small set of predefined input fields such as:

  • Text fields (One line and multi line widgets possible)
  • E-mail address fields
  • Checkboxes
  • Dropdowns
  • Radio Buttons
  • Multiple selection checkboxes
  • Hidden input fields

Every field can optionally be declared mandatory, default values and help texts are available too. That's it.

By default, form data is sent by e-mail to a freely definable e-mail address and stored in the database (a CSV export of saved submissions is provided too). It is possible to add your own actions, but that's not documented yet. These actions aren't hardcoded -- they can be freely defined for every form defined through this form designer.

Configuring the export

The CSV export of form submissions uses the Python's CSV module, the Excel dialect and UTF-8 encoding by default. If your main target is Excel, you should probably add the following setting to work around Excel's abysmal handling of CSV files encoded in anything but latin-1:

FORM_DESIGNER_EXPORT = {
    'encoding': 'latin-1',
}

You may add additional keyword arguments here which will be used during the instantiation of csv.writer.

ReCaptcha

To enable [ReCaptcha](http://www.google.com/recaptcha) install [django-recaptcha](https://github.com/praekelt/django-recaptcha) and add captcha to your INSTALLED_APPS. This will automatically add a ReCaptcha field to the form designer. For everything else read through the django-recaptcha readme.

Override field types

Define FORM_DESIGNER_FIELD_TYPES in your settings file like:

FORM_DESIGNER_FIELD_TYPES = 'your_project.form_designer_config.FIELD_TYPES'

In your_project.form_designer_config.py something like:

from django import forms
from django.utils.translation import ugettext_lazy as _

FIELD_TYPES = [
    ('text', _('text'), forms.CharField),
    ('email', _('e-mail address'), forms.EmailField),
]

Visit these sites for more information

Something went wrong with that request. Please try again.