Jak mogę umieścić komentarze w deklaracji listy argumentów Jinja2?
Wszystko, co próbowałem, daje błąd: jinja2.exceptions.TemplateSyntaxError: nieoczekiwany znak 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 -%}
Odpowiedzi:
56 dla odpowiedzi № 1Jinja2 nie obsługuje komentarzy w obrębie a {{ ... }}
oświadczenie. Możesz używać tylko komentarzy na zewnątrz takich oświadczeń, a potem tylko z {# .. #}
lub ## comment
.
{# .. #}
jest przeznaczony tylko dla wyłączanie fragment szablonu lub dodawanie komentarzy na zewnątrz innej składni Jinja2. Nie możesz ich zagnieździć.# statement
jest odpowiednikiem{% statement %}
, gdyby instrukcje linii są włączone i tak skonfigurowane.## comment
działa tylko wtedy, gdy włączone są instrukcje liniowe, w którym to momencie jest traktowany jako komentarz.
Ogólnie rzecz biorąc, poza wyrażeniami Jinja, zamiast tego używaj komentarzy w języku docelowym; np. <!-- comment -->
podczas generowania XML itp.