Сравнение значений в шаблонах 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].
Комментарии:
Нету комментариев для вывода...