可以更好地控制Django timeuntil输出吗?

时间:2011-12-12 17:06:04

标签: python django

我目前正在使用timeuntil标记来显示商品到期日期。它正在吐痰......

{{rental_till|timeuntill}}

哪个产生......

3 months, 1 week

例如,有可能让它只显示月份吗?或者对输出格式进行任何类型的更精细控制,类似于date标记。

2 个答案:

答案 0 :(得分:2)

要仅显示月份,您可以write a simple template filter将字符串拆分为逗号,并返回结果列表的第一项。过滤器代码如下所示:

from django.template import Library
register = Library()

@register.filter
def split_timeuntil(duration):
    return duration.split(",")[0]

然后在您的模板中:{{rental_till|timeuntil|split_timeuntil}}

但是,timeuntil过滤器没有date格式。您可以通过复制timeutildjango/template/defaultfilters.py中的django/utils/timesince.py代码轻松创建自定义过滤器,以返回所需的格式。

答案 1 :(得分:0)

不,timeuntil没有任何选项,但您可以根据timeuntil创建自己的模板标签,并让它做您喜欢的任何事情。见:https://code.djangoproject.com/browser/django/tags/releases/1.3/django/template/defaultfilters.py(第729行)