129 votes

Commentaires en ligne de Jinja2

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

Tout ce que j'ai essayé donne une erreur : 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 -%}

Dans mon cas, Jinja2 est utilisé comme préprocesseur de macro pour l'assembleur.

228voto

Martijn Pieters Points 271458

Jinja2 ne prend pas en charge les commentaires à l'intérieur d'un fichier de type {{ ... }} déclaration. Vous pouvez uniquement utiliser des commentaires à l'extérieur de de ces déclarations, et seulement avec {# .. #} o ## comment .

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

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

27voto

Dan Netoff Points 97

Maintenant, Jinja2 a une déclaration de commentaire :

{% comment %}

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

{% endcomment %}

12voto

Paul Thach Points 91

J'essayais d'ajouter des commentaires à Martijn Pieters.

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

{{ .. }} = {# .. #} (même chose que ci-dessus)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X