如何比较Django模板中的日期?我想到了几种可能的途径:
虽然最后一个选项似乎更容易,但我宁愿将显示逻辑留在模板中而不是视图中。我也不想在模板上下文中传递像今天日期那样微不足道的东西。
也许有人有另一种选择,或者可以分享他们对我上面提到的其中一个选项的实施,以及为什么他们决定走这条路。
答案 0 :(得分:6)
我会使用模板过滤器:
from datetime import date
...
@register.filter
def future_dates_only(the_date):
if the_date > date.today():
return the_date
else:
return None
然后在您的视图中执行以下操作:
{{specialdate|future_dates_only|date:"d M Y"}}
答案 1 :(得分:2)
IMO在视图或帮助程序模块中执行此类操作更为清晰,并在上下文中传递它。模板最好没有逻辑或最不可能(毕竟这是MVC模式)。