django-dataforms is a wrapper for the Django forms API that lets you dynamically define forms in a database, rather than hard-coding form definitions. This can be
especially helpful for projects that have many forms and/or forms which constantly change, and you don't want to be constantly updating models and schemas. No model creation required.
See the Documentaion for more information.
# forms.py from django import forms class ContactForm(forms.Form): subject = forms.CharField(max_length=100) message = forms.CharField() sender = forms.EmailField() cc_myself = forms.BooleanField(required=False) # view.py def contact(request): if request.method == 'POST': form = ContactForm(request.POST) # ... else: form = ContactForm() return render_to_response('contact.html', {'form': form,})
# Now your form is stored in the database and you can # change it without changing a model and DB schema! create_form(request, form="contact-form" submission="mySubmission")