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.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba9184f8d402da104f6361215530361eaafda65ebd18d8db725e1a2cb287bdd8 |
|
MD5 | c3bad994deec5ff7035abe052b2183d9 |
|
BLAKE2b-256 | d9f913e453e3cfa65c3542e1145c79f0c7af50b522fd75cd895ceb577e76574b |