Сравнение значений в шаблонах Django

Недавно столкнулся с проблемой, связанной с ограниченностью шаблонного языка Django, а именно невозможностью сравнить два значения между собой (больше, меньше и т.д.). Варианты вроде:
{% if some_val > 4 %}
<p>Истина</p>
{% else %}
<p>Ложь</p>
{% endif %}

вызывают ошибку.

В поисках решения я нагуглил библиотеку, разработанную Джеймсом Беннеттом (James Bennett) — [URL=http://django-template-utils.googlecode.com/]django-template-utils[/URL].


Для использования достаточно добавить библиотеку в Python окружение, можно посредством установки:
tar zxvf template_utils-0.4p2.tar.gz
cd template_utils-0.4p2
python setup.py install

А можно просто добавить приложение в INSTALLED_APPS проекта.

В результате вам будут доступны функции сравнения значений, и другие полезные возможности в шаблонах Django.

Например проверка значения на условие «меньше или равно 4х»:
{% load comparison %}
{% if_less_or_equal some_val 4 %}
<p>Истина</p>
{% else %}
<p>Ложь</p>
{% endif_less_or_equal %}

Ссылка на библиотеку: [URL=http://django-template-utils.googlecode.com/]django-template-utils.googlecode.com[/URL].
Теги:
Django
Добавлено: 17 Сентября 2013 03:22:18 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...