Django # Полезные темплейтные фильтры # Useful extra template filters
По ссылке - расширения стандартного набора темплейтных фильтров. Придуманы не мной.
Хотя, однажды, я собственноручно “изобрел” фильтр is_equal. Точно такой же как в сниппетах по ссылке :))) Когда это, например, удобно?
Есть 2 способа написать одно и то же. Первый - стандартный, второй - с использованием нашего “хитрого” фильтра.
{% ifequal node.id current_id %}...{% endifequal %}{% if node.id|is_equal:current_id %}...{% endif %}Так вот - есть нюансы. Второй способ иногда круче:
- можно писать сразу несколько условий, например:
{% if node.is_root and node.id|is_equal:current_id %} - если внутри if есть блок, то его можно переопределить в дочернем шаблоне
{% if %}{% block some_block_in_if %}{% endblock %}{% endif %}, а если такой блок внутри ifequal, то переопределение не работает! Случай очень редкий, но может и потянет на баг-репорт, если ещё не успели исправить.