1

我不知道为什么,但这种情况永远不会为我评估 True 。我在 urls 文件中提供 datetime.today() 。我错过了什么吗?

模板:

{% load humanize %}

{{ entry.date|naturalday }}  {# Evals to "today" #}

{% ifequal entry.date|naturalday "today" %}
    True
    {{ entry.date|date:"fA"|lower }} {{ entry.date|naturalday|title }}
{% else %}
    False
    {{ entry.date|naturalday|title }}
{% endifequal %}
4

1 回答 1

1

我刚刚在 Django 1.1.1 下测试了它,它对我来说很好用。

您正在运行哪个版本的 Django?

但是,还有一些其他问题可能会导致您出现问题:

  1. 我还注意到,在您的问题中,您有{% load humaize %}一个错字(应该是{% load humanize %})。我不确定这是在您的真实代码中还是在您的问题中。

  2. 如您所说,如果您真的datetime.today()在您的 .计算一次)。这可能意味着代码将在应用程序运行的第一天运行,然后在第二天失败。在部署到应用程序在一夜之间运行而不重新启动的环境之前,您可能不会注意到这一点。urls.pyextra_context

    如果您希望它真正成为“今天”,只需传入函数datetime.today而不是datetime.today(). 这样模板将在每次渲染时调用它。

于 2010-03-13T05:42:55.773 回答