背景:
我只想显示1周的时间和日期。之后,我只想显示日期。
我想做这样的事情。 (这不起作用)
{% if greenboard.datetime|timesince >= "1 week" %}
{{greenboard.datetime.date}}<br />
{% else %}
{{greenboard.datetime|timesince}} ago
{% endif %}
编辑:
嗨,即使进行编辑,我得到的仍然是时间以及所有参数。例如date date。模板标签应该是什么?截至目前使用此
{{ greenboard.datetime|timesince_threshold:2 }}
给出确切的时间发布并尝试使用
{{ greenboard.datetime|timesince }}
这没有。个星期和几天。仍然无法弄清楚。
最佳答案
timesince
是django.utils.timesince
函数的简单包装。解决您的问题最简单的方法是编写一个自定义过滤器:
from datetime import datetime, timedelta
from django import template
from django.utils.timesince import timesince
register = template.Library()
@register.filter
def timesince_threshold(value, days=7):
"""
return timesince(<value>) if value is more than <days> old. Return value otherwise
"""
if datetime.now() - value < timedelta(days=days):
return timesince(value)
else:
return value
timesince_threshold.is_safe = False