问题描述
有没有办法从django timesince
过滤器中删除尾随数据?
Is there a way to remove the trailing data from the django timesince
filter?
我想只显示几天,几周或几年,没有任何尾随信息。例如周+天 - >周,月+周 - >月,年+月 - >年等。
I would like to only display days, weeks months or years without any trailing information. e.g weeks + days -> weeks, months + weeks -> months, years + months -> years, etc.
此外,如果日期不到一天,应该显示小时数。例如1小时前,4小时前,等等。
Additionally, if the date is less than one day, it should display the hours. e.g. 1 hour ago, 4 hours ago, etc.
目前我有一个datetime对象,正在使用这样的过滤器:
Currently I have a datetime object and am using the filter like this:
{{ my_date_time|timesince}}
推荐答案
您可以制作自己的模板标签,并使用它来修改 timesince
的输出,使其成为您喜欢的任何内容。这个例子只是为了让你开始:
You can make your own template tag and use it to modify the output of timesince
to be anything you like. Here's an example just to get you started:
def custom_timesince(value):
now = datetime.datetime.now()
# can add some error checking if you want
diff = now - value
if diff < timedelta(days=1):
return "recently" # or w/e you wanted with the hours
# remove trailing information from timesince
return timesince(value).split(", ")[0]
可能有帮助:
这篇关于从Django Timesince中删除尾随数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!