我正在努力做到这一点,并且失败了.有没有理由说它不能用于Django模板语法?我正在使用最新版本的Django.
{% ifequal entry.created_at|timesince "0 minutes" %}
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为它不应该工作.您要求的不是模板语言的一部分.
你不能在标签的中间应用过滤器{% 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 %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
231 次 |
| 最近记录: |