85

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 -%}

私の場合、Jinja2 はアセンブラのマクロ プリプロセッサとして使用されます。

4

3 に答える 3

167

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

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

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

于 2012-11-26T09:53:53.587 に答える