inja2.исключения.TemplateSyntaxError: неожиданный символ ‘!’

#python #jinja2

#питон #джинджа2

Вопрос:

Я пытаюсь создать шаблон rendr jinja, мой код:

 <span>{{ !!scope.row.is_read ? 'Прочитано' : 'Не прочитано' }}</span>
 
 env = Environment(loader=FileSystemLoader('app'),
                          comment_start_string="{{{",
                          comment_end_string="}}}",
                          )
        template = env.get_template('html_template.j2')
        return template.render(access_token=security.create_access_token(subject=resp_data['user']['id'],
                                                                         expires_delta=access_token_expires))
 

Но я получаю сообщение об ошибке inja2.exceptions.TemplateSyntaxError: неожиданный символ ‘!’.
Если я удалю !! в html-шаблоне эта ошибка появляется на ‘?’. Может мне понадобиться какое-то продление, кто-нибудь может помочь?

Ответ №1:

Похоже, вы пытаетесь поместить код python внутри тега, чего обычно вы не можете сделать.

Попробуйте это:

 {% if scope.row.is_read %}
<span>Прочитано</span>
{% else %}
<span>Не прочитано</span>
{% endif %}
 

Комментарии:

1. Нет, это функция js, которая выдает значение в теге html