我正在努力做到这一点,并且失败了.有没有理由说它不能用于Django模板语法?我正在使用最新版本的Django.
{% ifequal entry.created_at|timesince "0 minutes" %}
S.Lott.. 5
它不起作用,因为它不应该工作.您要求的不是模板语言的一部分.
你不能在标签的中间应用过滤器{% ifequal
.当模板标签使用变量时,它不期望表达式,它只需要一个变量.
这种逻辑 - 提取时间,比较等等 - 是您在视图函数中应该做的事情.
然后,您的视图函数会在上下文中放置"zerominutes"项以供模板使用.模板只是做不了多少处理.
它们旨在实现呈现HTML所需的最低要求.其他一切都需要在您的视图功能中.
它不起作用,因为它不应该工作.您要求的不是模板语言的一部分.
你不能在标签的中间应用过滤器{% ifequal
.当模板标签使用变量时,它不期望表达式,它只需要一个变量.
这种逻辑 - 提取时间,比较等等 - 是您在视图函数中应该做的事情.
然后,您的视图函数会在上下文中放置"zerominutes"项以供模板使用.模板只是做不了多少处理.
它们旨在实现呈现HTML所需的最低要求.其他一切都需要在您的视图功能中.
{% ifequal %}
tag不支持过滤器表达式作为参数.它将整体entry.created_at|timesince
视为变量的标识符.
Quik解决方法:使用{% with %}
如下方法引入具有expresion结果的中间变量:
{% with entry.created_at|timesince as delta %} {% ifequal delta "0 minutes" %} .... {% endifequal %} {% endwith %}