Django Template - Error Silence

Django template 标签遇到错误时安静的返回空,有时也会造成困扰。最近在本地没有问题的代码,到服务器上那个摸板里的 if 分支却总是走 False 那一个。最后在 Django shell 里一试才发现,是那个 if 判断的代码抛出了错误,被当作空来处理。

那个判断用到了 datetime.timedelta.total_seconds() 方法,是 Python 2.7 里新加入的,我本地用的就是这个版本。但服务器上是 Python 2.6,要使用 datetime.timedelta.seconds 属性:

td = datetime.datetime.now() - self.created
try:
    total_seconds = td.total_seconds()
except AttributeError:
    total_seconds = td.seconds
2011-03-25 00:00152django