Самая простая ситуация:
if len(words) > 10: print wordselse: print trim(words)
Писался фильтр типа такого:
def gt(value, count): return value > count
{% if word|length|gt:3 %}
Конечно, можно было использовать уже готовые решения из снипитов. Но если это надо только на одной странице, то мне очень сильно лень искать и подключать сторонюю библиотеку. Вот если бы все уже было в транке...
Итак, встречайте, новый полноценный темплейт тэг IF
Синтаксис повторяет питон, т.е.работают конструкции вида:{% if word|length > 3 %}{% if price == 10 %}{% if age >= 18 and sex == 'women' and tits >= 3 %} Сиськи!!!
{% endif %}
Ну и булевы: and, or и not
И поясню, фильтрами пользоваться можно, обращение к методам так-же как и раньше, т.е. python:
cart.get_full_price()
{% if cart.get_full_price == 0 %}
Поломанная совместимость
Раньше разрешалось использовать одно из зарезервированных имен (and, or или not) для переменной, но не в блоке IF. Сейчас нет )Хотя, думается мне, такой нейминг явное ССЗБ...
ps может им кто-нибудь расскажет про jinja2? )
Зафтыкал! Вперся! =) Хочу обратно на джангу... =(
ОтветитьУдалитьSam.