/ / Commenti in linea Jinja2: pitone, commenti, jinja2

Commenti in linea Jinja2 - python, commenti, jinja2

Come posso inserire commenti nella dichiarazione dell'elenco argomenti di Jinja2?

Tutto quello che ho provato dà un errore: jinja2.exceptions.TemplateSyntaxError: imprevedibile 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 -%}

risposte:

56 per risposta № 1

Jinja2 non ha supporto per i commenti all'interno di a {{ ... }} dichiarazione. Puoi usare solo i commenti al di fuori di tali dichiarazioni, e quindi solo con {# .. #} o ## comment.

  • {# .. #} è pensato solo per disabilitazione parte di un modello o aggiunta di commenti al di fuori di altra sintassi Jinja2. Non puoi nidificarli.
  • # statement è l'equivalente di {% statement %}, Se le istruzioni di linea sono abilitate e quindi configurate.
  • ## comment funziona solo se le istruzioni di linea sono abilitate, a quel punto è considerato un commento.

In generale, al di fuori delle dichiarazioni di Jinja, utilizzare invece i commenti nella lingua di destinazione; per esempio. <!-- comment --> durante la generazione di XML, ecc.