【问题标题】:If, Else inside html using Django templatesIf, Else inside html 使用 Django 模板
【发布时间】:2015-06-26 09:16:09
【问题描述】:

我有一个由许多 html 页面组成的 Django 项目。

我想在我的 html 标记中添加一个 if else 条件,以便在时间戳 = 0000-00-00 00:00:00 时返回“None”,并在不是时返回时间。我的代码如下所示,我使用标签来获取日期格式的时间。

<td>{{ table.start_time|date:"Y-m-d G:i:s"}}</td>

【问题讨论】:

  • 如果您需要在 HTML 中编写代码,通常需要使用 java-script。对此进行调查,阅读教程等等。
  • 我想 OP 要求在服务器端完成此操作。
  • 没有办法在html标签里面做?
  • 是的,只需阅读答案。顺便说一句,欢迎来到 SO。由于您正在使用 Django,因此您应该编辑您的标题以更具描述性,因此,您希望它与 Django 模板引擎一起使用,而不仅仅是普通的 html。
  • 你怎么能得到那个时间?我在这里想念什么?我知道您可能正在尝试做某种与计时器相关的领域,但我尝试过,但我无法获得那个时间。

标签: python html django if-statement


【解决方案1】:

我刚刚使用了另一个标签:

<td>{{ table.start_time|date:"Y-m-d G:i:s"|default:"None"}}</td>

谢谢大家!!

【讨论】:

    【解决方案2】:

    您可以使用ifequal 模板标签来做到这一点。

    {% with table.start_time|date:"Y-m-d G:i:s" as start_time %}
        {% ifequal start_time "0000-00-00 00:00:00" %}None{% else %}{{start_time}}{% endifequal %}
    {% endwith %}
    

    【讨论】:

    • ifequal 很久以前就被弃用了...docs.djangoproject.com/fr/1.8/releases/1.2/#smart-if-tag
    • 它未被弃用docs.djangoproject.com/en/1.8/ref/templates/builtins/#ifequal。您还可以将 if 标记与 != 或其他 python 运算符一起使用。但是ifequalifnotequal 仍然存在。
    • 直接从我之前附加的链接中引用:There’s really no reason to use {% ifequal %} or {% ifnotequal %} anymore, unless you’re the nostalgic type. 这比其他任何东西都更倾向于弃用......
    • 好吧,当他们将其设置为弃用的那一天,我将停止使用,但目前在当前文档中没有事件警告或类似内容。 “ifequal 标记的替代方法是使用 if 标记和 == 运算符。”不觉得他们会弃用它。可能我属于“怀旧”类别,因为我有一些使用此标签的旧项目,这就是我使用它很自然的原因。
    • 那么,你可以随意使用怀旧版了:)
    【解决方案3】:

    你可以试试:

    {% with table.start_time|date:"Y-m-d G:i:s" as time_stamp %}
        {% if time_stamp != "0000-00-00 00:00:00" %}
            <td>{{ time_stamp }}</td>
        {% endif %}
    {% endwith %}
    

    【讨论】:

    • 我已经尝试过这样的方式,但无法正常工作。 {% with table.start_time|date:"Y-m-d G:i:s" as time_stamp %} {% if time_stamp = "0000-00-00 00:00:00" %} &lt;td&gt; "None" &lt;/td&gt; {% else %} &lt;td&gt;{{ time_stamp }}&lt;/td&gt; {% endif %} {% endwith %}
    • 代码应该是正确的,{{ time_stamp }}ifs之外的输出是什么?
    • 那些没有None时间的字段
    • 这没有帮助,请粘贴这些值的确切输出。
    【解决方案4】:

    在 HTML 或任何其他编程能力中没有 if-then 控制解释。 HTML 是一种标记方言。编写计算机程序是不可想象的。

    Css 将允许您根据类和 ID 在样式之间进行选择。

    你可以用 JavaScript 做这种事情,但你可以用 CSS 保持简单。

    【讨论】:

      猜你喜欢
      • 2017-08-14
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 2017-07-21
      • 2018-09-11
      • 2022-01-25
      相关资源
      最近更新 更多