Подтвердить что ты не робот

Комментарии Jinja2 inline

Как я могу помещать комментарии внутри объявления списка аргументов Jinja2?

Все, что я пробовал, дает ошибку: jinja2.exceptions.TemplateSyntaxError: неожиданно char u '#'

{{ Switch('var',
    [('1', 'foo'),    #  comment 1
     ('2', 'bar'),    ## comment 2
     ('3', 'rum'),    {# comment 3 #}
     ]) }}


{% macro Switch(var, caselist) %}
    {% for case, action in caselist%}
        CMP  {{var}} {{case}} 
        JNE  {{LABEL}}
        {{action}}
        JMP  {{LABELF}}
{{LABEL}}:  NOP
    {%- endfor %}
{{LABELF}}: NOP
{%- endmacro -%}
4b9b3361

Ответ 1

Jinja2 не поддерживает комментарии в инструкции {{ ... }}. Вы можете использовать комментарии вне таких утверждений, а затем только с {# .. #} или ## comment.

  • {# .. #} предназначен только для отключения части шаблона или добавления комментариев за пределы другого синтаксиса Jinja2. Вы не можете их вложить.
  • # statement является эквивалентом {% statement %}, если операторы строк включены и настроены.
  • ## comment работает только в том случае, если оператор строки включен, и в этот момент он рассматривается как комментарий.

Как правило, вне заявлений Jinja вместо этого используйте комментарии на целевом языке; например <!-- comment --> при генерации XML и т.д.

Ответ 2

Вы можете использовать

{% comment %} //HTML content {%endcomment%}

Чтобы прокомментировать блок html

Надеюсь на эту помощь.