繁体   English   中英

Jinja2 内嵌注释

[英]Jinja2 inline comments

如何在 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 用作汇编程序的宏预处理器。

Jinja2 不支持{{ ... }}语句中的注释。 您只能此类语句之外使用注释,然后只能使用{# .. #}## comment

  • {# .. #}仅用于禁用模板的一部分或其他 Jinja2 语法之外添加注释。 你不能嵌套这些。
  • # statement相当于{% statement %} ,如果行语句被启用并如此配置
  • ## comment仅在启用行语句时有效,此时它被视为注释。

通常,在 Jinja 语句之外,使用目标语言中的注释代替; 例如<!-- comment -->生成 XML 等时。

现在 Jinja2 有一个评论声明:

{% comment %}

    <html code/>
    {% some other statements %}
    {{ some.values }}

{% endcomment %}

我试图向 Martijn Pieters 添加评论。

{% .. %} = {# .. #}

{{ .. }} = {# .. #} (同上)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM