Jinja/Flask中的弦长

wux*_*eji 40 python jinja2 flask

不幸的是,Jinja不支持执行任意Python代码,例如

{% if len(some_var)>1 %} ... {% endif %}
Run Code Online (Sandbox Code Playgroud)

我目前的解决方法是使用弃用的,丑陋的双下划线方法:

{% if some_var.__len__()>1 %} ... {% endif %}
Run Code Online (Sandbox Code Playgroud)

虽然这有效,但我担心将来某些字符串的实现可能会破坏这段代码.有一个更好的方法吗?

Mar*_*ers 78

您可以使用length过滤器:

{% if some_var|length > 1 %}
Run Code Online (Sandbox Code Playgroud)