django ifequal naturalday

我不确定为什么,但这种情况永远不会对我评价为真。我在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 %}
    
已邀请:
我刚刚在Django 1.1.1下对它进行了测试,它对我来说效果很好。 你在运行哪个版本的Django? 但是,还有一些其他问题可能会导致您出现问题: 我也注意到在你的问题中你有
{% load humaize %}
,其中包含一个拼写错误(应该是
{% load humanize %}
)。我不确定这是在您的真实代码中还是在您的问题中。 如果你真的在
urls.py
中使用
datetime.today()
,正如你所说,请注意这可能会导致问题,因为这个值只会在首次创建
extra_context
字典时计算一次(因为“今天”的值将会只计算一次)。这可能意味着代码将在应用程序运行的第一天起作用,然后在第二天失败。在部署到应用程序在一夜之间运行而不重新启动的环境之前,您可能不会注意到这一点。 如果你想要它真的是“今天”,只需传递函数
datetime.today
而不是
datetime.today()
。这样,模板将在每个渲染上调用它。     

要回复问题请先登录注册