web-dev-qa-db-fra.com

Commentaires en ligne de Jinja2

Comment puis-je mettre des commentaires dans la déclaration de liste d'arguments Jinja2?

Tout ce que j'ai essayé donne une erreur: jinja2.exceptions.TemplateSyntaxError: caractère inattendu 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 ne prend pas en charge les commentaires dans un {{ ... }} déclaration. Vous ne pouvez utiliser des commentaires qu'en dehors de ces instructions, et uniquement avec {# .. #} ou ## comment.

  • {# .. #} est uniquement destiné à désactiver une partie d'un modèle ou ajouter des commentaires à l'extérieur d'une autre syntaxe Jinja2. Vous ne pouvez pas les imbriquer.
  • # statement est l'équivalent de {% statement %}, si les instructions de ligne sont activées et ainsi configurées .
  • ## comment ne fonctionne que si les instructions de ligne sont activées, moment auquel il est considéré comme un commentaire.

En général, en dehors des déclarations de Jinja, utilisez plutôt des commentaires dans la langue cible; par exemple. <!-- comment --> lors de la génération de XML, etc.

93
Martijn Pieters