Уведомления

Группа в Telegram: @pythonsu

#1 Май 14, 2017 19:35:17

ivn
Зарегистрирован: 2017-01-13
Сообщения: 91
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask Jinja фильтры

Добрый день.
Как правильно написать вот этот код:

                 
{% macro check_is_active(menu) %}
    {% for el in menu if el.active %}
        active
    {% endfor %}
{% endmacro %}

 <li class="dropdown {{ check_is_active(menu.children) }}"> </li>

т.е. поставить “active” в классе, если хоть в свойстве одного элемента из списка “menu.children” стоит True

Офлайн

#2 Май 14, 2017 22:01:51

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Flask Jinja фильтры

Такие данные желательно “готовить” заранее… Это уже не шаблонные операции, хотя технически в jinja2 можно смело выполнять обыкновенные операции python.

Офлайн

#3 Май 15, 2017 21:14:26

ivn
Зарегистрирован: 2017-01-13
Сообщения: 91
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask Jinja фильтры

вот такая конструкция:

     {% for el in menu if el.active %}
        active
    {% endfor %}
в классическом python не может же существовать?
 for el in menu if el.active

Офлайн

#4 Май 16, 2017 13:55:02

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Flask Jinja фильтры

А кто придумал такую чудесную встроенную функцию как filter…

Офлайн

#5 Май 16, 2017 14:44:01

ivn
Зарегистрирован: 2017-01-13
Сообщения: 91
Репутация: +  0  -
Профиль   Отправить e-mail  

Flask Jinja фильтры

4kpt_V
А кто придумал такую чудесную встроенную функцию как filter…
так еще и генераторы, как эквивалент

Офлайн

#6 Май 17, 2017 13:19:10

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Flask Jinja фильтры

ivn
В Вашем случае это явно фильтр. Генератор подходит технически, но не семантически.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version