Template Tags

synopsis:

Template Tags in django-boost

Python built-in functions

Make Python built-in functions available in DjangoTemplate.

Some non-built-in functions are also provided as filters.

An example is isiterable filter.

Usage

{% load boost %}

isiterable

isiterable filter returns True if it filters repeatable objects, and False otherwise.

{% load boost %}

{% if object|isiterable %}
  {% for i in object %}
    <p>{{ i }}</p>
  {% endfor %}
{% else %}
  <p>{{ object }}</p>
{% endif %}

literal

Python literal from string. Using backend ast.literal_eval.

{% load boost %}

{% literal "[1, 2, 3]" as list %}

{% for i in list %}
    <p>{{ i }}</p>
{% endfor %}

chain

Concatenate iterable objects

{% load boost %}

{% chain list1 list2 as concatenated_list %}

{% for i in concatenated_list %}
  {{ i }}
{% endfor %}

chunked

Break iterable into lists of length n

{% load boost %}

{% for i in list|chunked:3 %}
  {% for j in i %}
    {{ j }}
  {% endfor %}
{% endfor %}

URL Utility

Usage

{% load boost_url %}

urlencode

URL encode the filtered string. You can specify non-conversion characters in the argument.

{% load boost_url %}

{{ url | urlencode }}

{{ url | urlencode:'abc' }}

urldecode

The reverse of urlencode.

{% load boost_url %}

{{ url | urldecode }}

replace_parameters

Replace the query string of the current page URL with the argument.

{% load boost_url %}

{# case of current page's query string is `?id=2`#}
{% replace_parameters request 'id' 1 'age' 20 %}

{# The result of replacing is `?id=1&age=20` #}

Useful for pagination.

get_querystring

return querystring value

{% load boost_url %}

{% get_querystring request 'id' %}

{# return request.GET.get('id', None) #}

Queryset Utility

Usage

{% load boost_query %}

Make the query set methods available in the template.

filter, exclude, order_by are available.

If you use the LogicalDeletionMixin, you can also use alive and dead

{% qureyset|filter:"field=value"%}

{% qureyset|exclude:"field=value"%}

{% qureyset|order_by:"field"%}

{# If it inherits LogicalDeletionMixin. #}

{% qureyset|alive %}

{% qureyset|dead %}

MimeType Utility

Usage

{% load mimetype %}

mimetype

Guess mimetype from the extension at the end of the string.

Python mimetypes.guess_type is used internally.

{{ "json"|mimetype }} {# "application/json" #}

{{ ".json"|mimetype }} {# "application/json" #}

{{ "sample.json"|mimetype }} {# "application/json" #}