Formica¶
Contents:
Overview¶
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.
Note
If you’re in a hurry and just want to see how it looks and how it works, there’s a demonstration project for you.
A simple example¶
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" %}
{% fields %}
{% endform %}
<p><input type="submit" value="save" /></p>
</form>
Pretty cool isn’t it? Now let’s dive into more complex and real life usages.
Changes¶
version 1.2 - 2014-08-21¶
- Changes in default template blocks
- Minor fixes for Bootstrap
version 1.1 - 2014-06-19¶
- Bootstrap template
- New filters (is_input, is_textarea, is_select)
- Added an context attrs variable in {% field %} tag.
- Demonstration project
- Stylesheet for default template
version 1.0 - 2014-06-16¶
- Initial release.
Sources & license¶
Formica sources are hosted on Github: https://github.com/olivier-m/formica
Formica is released under the FreeBSD license.