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