Skip to main content

Tweak the form field rendering in templates, not in python-level form definitions.

Project description

Tweak the form field rendering in templates, not in python-level form definitions. Altering CSS classes and HTML attributes is supported.

That should be enough for designers to customize field presentation (using CSS and unobtrusive javascript) without touching python code.

The license is MIT.

Installation

pip install django-widget-tweaks

Then add ‘widget_tweaks’ to INSTALLED_APPS.

Usage

This app provides several template filters that can alter CSS classes and HTML attributes of django form fields.

attr

Adds or replaces any single html atribute for the form field.

Examples:

{% load widget_tweaks %}

<!-- change input type (e.g. to HTML5) -->
{{ form.search_query|attr:"type:search" }}

<!-- add/change several attributes -->
{{ form.text|attr:"rows:20"|attr:"cols:20"|attr:"title:Hello, world!" }}

<!-- attributes without parameters -->
{{ form.search_query|attr:"autofocus" }}

add_class

Adds CSS class to field element. Split classes by whitespace in order to add several classes at once.

Example:

{% load widget_tweaks %}

<!-- add 2 extra css classes to field element -->
{{ form.title|add_class:"css_class_1 css_class_2" }}

set_data

Sets HTML5 data attribute ( http://ejohn.org/blog/html-5-data-attributes/ ). Useful for unobtrusive javascript. It is just a shortcut for ‘attr’ filter that prepends attribute names with ‘data-’ string.

Example:

{% load widget_tweaks %}

<!-- data-filters:"OverText" will be added to input field -->
{{ form.title|set_data:"filters:OverText" }}

append_attr

Appends atribute value with extra data.

Example:

{% load widget_tweaks %}

<!-- add 2 extra css classes to field element -->
{{ form.title|append_attr:"class:css_class_1 css_class_2" }}

add_class filter is just a shortcut for ‘append_attr’ filter that adds values to the ‘class’ attribute.

Contributing

If you’ve found a bug, implemented a feature or have a suggestion, do not hesitate to contact me, fire an issue or send a pull request.

Source code: https://bitbucket.org/kmike/django-widget-tweaks/

Bug tracker: https://bitbucket.org/kmike/django-widget-tweaks/issues/new

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-widget-tweaks-0.1.1.tar.gz (2.7 kB view details)

Uploaded Source

File details

Details for the file django-widget-tweaks-0.1.1.tar.gz.

File metadata

File hashes

Hashes for django-widget-tweaks-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e1c1ce3a2026ef29fac47a168f26e855be2d0ab9ff51629fc2d9f40e3c2691b7
MD5 e510fc5b449665ea54e4cf4ed2dc430b
BLAKE2b-256 0a840570eee98b68a4af293522f7a6f532524d673f4386d60bc4819f728d0c7c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page