Rendering forms with Django can be painful and not very rewarding. There are some nice solutions arround like django-floppyforms or django-crispy-forms but you may want something a bit less complex.
Formica design is heavily based on Formulation, a very lightweight, yet powerful, solution based on template blocks. All credits should go to Curtis Maloney for this impressive and simple idea.
Say we have a form somewhere and want to render it in a template.
from django import forms class MyForm(forms.Form): email = forms.EmailField(label='Email') check = forms.BooleanField(label='I really love spam', required=False)
Rendering the form is as simple as:
{% load formica %} <form method="post"> {% form "formica/base_form.html" my_form %} {% fields %} {% endform %} <p><input type="submit" value="save" /></p> </form>
Pretty cool isn't it? Read the documentation to learn more.
Formica sources are hosted on Github: https://github.com/olivier-m/formica
Formica is released under the FreeBSD license.