Form rendering for Django
Project description
This library offers an improved replacement for Django’s own form rendering methods (as_p, as_table etc.) while staying simple and extensible but without introducing a whole new framework.
django-fineforms consists of a template tag library and a few opinionated default templates.
Goals
Stay simple and extensible
Avoid options, settings and customizability as much as possible
Non-goals
Compete with django-crispy-forms or any of the more flexible libraries out there
Installation
Simply pip install django-fineforms, and add fineforms to your INSTALLED_APPS.
High-level overview
The template tags mostly wrap their arguments in wrapper classes that do the real work. For example, {% ff_field %} simply wraps the passed field in a wrapper defined in the FINEFORMS_WRAPPERS setting. All wrappers use a template to render their output. The default wrapper types are as follows:
{ "errors": ErrorsWrapper, "field": FieldWrapper, "field-plain": PlainFieldWrapper, "fields": FieldsWrapper, }
The wrappers themselves mostly aren’t configurable, but you can replace individual wrappers (or all of them) by adding a FINEFORMS_WRAPPERS setting. You do not have to override all of them; if you only want to add another wrapper for a specific field type you could just set:
FINEFORMS_WRAPPERS = { "specific": "app.wrappers.SpecificWrapper", }
… and use this wrapper as {% ff_field some_field type='specific' %} somewhere in your templates.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_fineforms-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f4f3e591370f509a881339ba76a7e9d23027386e43b8d4090ae5e8062330e8a |
|
MD5 | d5e5c2dd5f34fd285fec3394df6a6762 |
|
BLAKE2b-256 | f78c6c9aaee60fc551e6cabdfdf4a384929f5ebc439af6857159913b807dfb9e |