Skip to main content

Just a collection of useful template tags and filters gathered in a single app.

Project description

# django-template-utils

Just a collection of useful template tags and filters gathered in a single app.

## Index

- [Instalation](#instalation)
- [Contributing](#contributing)
- [Usage](#usage)
- [Tags](#tags)
- [Filters](#filters)

## Instalation

Via pip:

pip install django-template-utils

Via easy_install:

easy_install django-template-utils

Clonning the project:

$ git clone git://github.com/gerardo-orozco/django-template-utils.git
$ python django-template-utils/setup.py install

Add the app to your istalled apps:

INSTALLED_APPS = (
...
'template_utils',
...
)
## Contributing

You have an idea of a useful tag or filter? Found a bug? Marvelous, your contribution will be very appreciated.

Please refer to the [Contributing](https://github.com/gerardo-orozco/django-template-utils/blob/master/CONTRIBUTING.md) section and have a happy coding!

## Usage

### Tags

First load the tags inside whatever templates you are going to use them:

{% load templateutils_tags %}

#### active_url

Returns a class to be assiged CSS styling that should make the chosen element highlighted as responsible of being in the active url.

Example: Assuming that the reversed url is the current url, this tag will act as follows:

{% active_url request url_name %} -> class="ui-active-url"
{% active_url request url_name class_name=myclass %} -> class="myclass"
{% active_url request url_name use_class=False %} -> ui-active-url
{% active_url request url_name class_name=myclass use_class=False %} -> myclass

Where `urlname` is the name of the url to check; this must be defined in your `URLCONF`, otherwise it will raise a `NoReverseMatch` Error.

#### current_url

Returns the reversed url only if it is NOT the current url. Otherwise returns the character "`#`"

Example:

<a href="{% current_url request url_name %}">Some link</a>

#### ifmember

Checks if the current user belongs to a specific group.

- User must be looged in.
- Requires the Django authentication contrib app and middleware.

Usage:

{% ifmember Admins %} ... {% endifusergroup %}

#### mkrange

Accepts the same arguments as the builtin `range` function and creates a list containing the result of `range`.

Usage:

{% mkrange [start, ]stop[, step] as context_name %}

For example:

{% mkrange 5 10 2 as some_range %}
{% for i in some_range %}
{{ i }}: Something I want to repeat
{% endfor %}

Produces:

5: Something I want to repeat
7: Something I want to repeat
9: Something I want to repeat

### Filters

Load the filters inside whatever templates you are going to use them:

{% load templateutils_filters %}

#### currency

Returns value represented as currency for the give locale.

Usage:

{{ value|currency }}

For example: Assuming value is `13`, `{{ value|currency }}` produces: `$13.00`

#### integer

Returns the given value as an int type.

Usage:

{{ value|int }}
{% tag_that_requires_int value|int %}

#### nolinebrs

Removes all `<br>` tags in the given string.

#### startswith

Returns whether the given value starts with the given string arg. The argument must be a string.

Usage:

{{ value|startsvith:"arg" }}

#### creditcard

Hides parts of strings such as credit card or bank account numbers to show only the last amount of numbers. Default amount of numbers to show is **4**

Usage:

{{ value|creditcard:chars_to_show }}

For example: Assuming value is `"5000000000003456"`

{{ value|creditcard:4 }}

Produces:

************3456

#### verbose

Returns the verbose value of a ChoiceField.

Usage:

{{ form.field|display }}

or

{% for field in form %}
{{ field|display }}
{% endfor %}

For example: Assuming `field` is a `BooleanField` with `True`

{{ field|display }}

Produces: The string `Yes`

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-template-utils-0.1.1.tar.gz (20.0 kB view hashes)

Uploaded Source

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