【问题标题】:Stop Jinja2 Execution With IF Statement?使用 IF 语句停止 Jinja2 执行?
【发布时间】:2018-11-08 17:47:22
【问题描述】:

我有一些类似的代码:

{% if key_var is not none %}
  {{ my_list[key_var] }}
{% endif %}

但是,我收到一个错误:

jinja2.exceptions.UndefinedError: 'list object' has no attribute 'None'

如果 IF 语句为假,有没有办法让 Jinja2 不运行代码?还是我错过了什么?

感谢您的帮助:)

【问题讨论】:

  • 为什么不 {% if key_var %} 就这样?
  • 那个 sn-p 在最新的 Jinja2 (2.10) 上为我工作。你用的是什么版本的 Jinja2?你确定那个片段是罪魁祸首吗?
  • @dfundako 因为零会做错事
  • 我使用的是 Jinja2 2.9.6。我看看能不能升级到2.10。

标签: django flask jinja2


【解决方案1】:
{% if my_list[key_var] is defined %}
  {{ my_list[key_var] }}
{% endif %}

得到了我正在寻找的行为。当 key_var 为 None 时,我不希望 my_list[key_var] 在 IF 语句中运行

我不知道为什么我最初的尝试没有成功。如果有人知道,请填写。

谢谢!

【讨论】:

    猜你喜欢
    • 2010-11-30
    • 2023-02-23
    • 1970-01-01
    • 2014-06-01
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    相关资源
    最近更新 更多