В процессе понимания Mako (механизм шаблонов для Python) я начал играть с конструкциями defs.Mako: def composition (at render time) не оценивается должным образом
Одна вещь, которую я попытался сделать, заключается в том, чтобы выпустить общий запрос «if» (скажем, один из JavaScript) из вызовов def. Вот текст:
<%def name="if_statement(x)">if (${x})</%def>
<%def name="sample_condition()">3 == 3</%def>
${if_statement(sample_condition())}
Выход не ожидается if(3 == 3)
, но 3 == 3if()
, так же, как аргумент if_statement
«s оценивали перед любым другим содержанием опр и оказываемых на фронте.
Является ли это ожидаемым поведением? И если да, то почему? Кроме того, как я мог достичь того, что я пытался сделать?