从Django转换过来,我习惯这样做:
{% if not var1 %} {% endif %}
如果我不把var1放到上下文中,它就能工作。Jinja2给出了一个未定义的错误。是否有一种简单的方法说{%如果var1 == None %}或类似?
从Django转换过来,我习惯这样做:
{% if not var1 %} {% endif %}
如果我不把var1放到上下文中,它就能工作。Jinja2给出了一个未定义的错误。是否有一种简单的方法说{%如果var1 == None %}或类似?
当前回答
来自Jinja2模板设计器文档:
{% if variable is defined %}
value of variable: {{ variable }}
{% else %}
variable is not defined
{% endif %}
其他回答
你可以这样做:
- debug:
msg: "Executed only if variable is defined"
when:
- variable is defined
如果变量为None,则%}为true。
因为not是不允许的None,这意味着
{% if变量!=无%}
是你唯一的选择。
{% if variable is defined %}用于检查是否有未定义的内容。
如果你的变量默认为False,你可以使用{% if not var1 %}
class MainHandler(BaseHandler):
def get(self):
var1 = self.request.get('var1', False)
你可以使用Jinja Elvis运算符
{{ 'OK' if variable is defined else 'N/A' }}
或者另外检查空
{{ 'OK' if (variable is defined and variable) else 'N/A' }}
模板-模板设计器文档
来自Jinja2模板设计器文档:
{% if variable is defined %}
value of variable: {{ variable }}
{% else %}
variable is not defined
{% endif %}