jinja2: TemplateSyntaxError: expected token ',', got 'string'
jinja2: TemplateSyntaxError: expected token ',', got 'string'
我是 Jinja2 的新手,在使用 python 正则表达式 (re) 时遇到问题。在下面的代码中,我想将其中包含错误字符串的行加粗。
{% block content %}
<div class="container">
{% for l in lines %}
{% if re.search(r"Error", l) %} {# <<< Throws error #}
<b> {{ l }} </b>
{% else %}
{{ l }} <hr>
{% endif %}
{% endfor %}
</div>
{% endblock %}
上面的 re.search 抛出以下错误:
jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: expected token ',', got 'string'
jinja2 模板语法不完全支持原始 python 代码。
{% if re.search(r"Error", l) %}
将此行替换为
{% if "Error" in l %}
可以解决您的问题。
如果你的逻辑条件比较复杂,你应该考虑自己定义custom filters(which can call any python code) or do the complicated things in your view layer. also go check global namespace。
我是 Jinja2 的新手,在使用 python 正则表达式 (re) 时遇到问题。在下面的代码中,我想将其中包含错误字符串的行加粗。
{% block content %}
<div class="container">
{% for l in lines %}
{% if re.search(r"Error", l) %} {# <<< Throws error #}
<b> {{ l }} </b>
{% else %}
{{ l }} <hr>
{% endif %}
{% endfor %}
</div>
{% endblock %}
上面的 re.search 抛出以下错误:
jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: expected token ',', got 'string'
jinja2 模板语法不完全支持原始 python 代码。
{% if re.search(r"Error", l) %}
将此行替换为
{% if "Error" in l %}
可以解决您的问题。
如果你的逻辑条件比较复杂,你应该考虑自己定义custom filters(which can call any python code) or do the complicated things in your view layer. also go check global namespace。