web-dev-qa-db-ja.com

Jinja2インラインコメント

Jinja2引数リスト宣言内にコメントを入れるにはどうすればよいですか?

私が試みたすべてがエラーを与えます:jinja2.exceptions.TemplateSyntaxError:unexpected 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 -%}
45
kimstik

Jinja2は、{{ ... }}ステートメント内のコメントをサポートしていません。このようなステートメントのコメントoutsideのみを使用し、{# .. #}または## commentでのみ使用できます。

  • {# .. #}は、テンプレートの無効化部分またはコメントの追加outside他のJinja2構文。これらをネストすることはできません。
  • # statementは、 行ステートメントが有効で構成されている の場合、{% statement %}と同等です。
  • ## commentは、行ステートメントが有効になっている場合にのみ機能し、その時点でコメントと見なされます。

通常、Jinjaステートメント以外では、代わりにターゲット言語のコメントを使用します。例えば<!-- comment --> XMLなどを生成するとき.

93
Martijn Pieters