【问题标题】:IF in the Django template systemDjango 模板系统中的 IF
【发布时间】:2010-02-16 21:02:43
【问题描述】:

我该怎么做:

{% if thestring %}

    {% if thestring.find("1") >= 0 %}

    {% endif %}

{% endif %}

我假设我需要构建一个模板过滤器?这行得通吗?

【问题讨论】:

  • 您是在询问>= 的比较吗?请更新您的问题以澄清您的问题。
  • 糟糕,我正在检查字符串中是否出现单词“1”。
  • 请更新问题。请不要添加 cmets。这是您的问题,请尽量说明清楚,以便其他人跟进。

标签: python django templates


【解决方案1】:

您不需要构建自定义过滤器,尽管可以使用 - 编码的替代方法

{% if thestring %}

    {% if "1" in thestring %}

    {% endif %}

{% endif %}

也会很好。

【讨论】:

  • {% if %} 中的关系和包含运算符仅在开发版本中。
  • 是的——它只计划在 3 周内发布(作为 1.2)。
【解决方案2】:

会的。但是使用in 运算符而不是find() 方法。

例子:

{% if thestring|contains:"1" %}

【讨论】:

    【解决方案3】:

    我相信你会发现 Django 模板系统的设计并不是为了包含复杂的逻辑。这种类型的处理应该发生在您的视图中,然后传递给模板。

    【讨论】:

      猜你喜欢
      • 2021-09-21
      • 1970-01-01
      • 2011-04-07
      • 2010-12-24
      • 1970-01-01
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      相关资源
      最近更新 更多