您好,
我需要在时基上添加一些条件,现在我从数据库获取的时间值就像 2012-09-05 05:05:05 ,我需要添加24这个小时。
我需要在时基上显示不同的内容,就像我需要显示“hi”的原始时间一样,24小时后我需要在模板文件中显示“hello”。
我该怎么做?请帮帮我。
答案 0 :(得分:2)
可能自定义模板标记是一种很好的方式:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters。您可以使用参数实现自己的deltaDays
标记,即{{ date|deltaDays:1 }}
。
答案 1 :(得分:2)
您也可以将其作为便宜的过滤器。
from django import template
register = template.Library()
@register.filter()
def is_at_least_24_hours_ago(value):
import datetime
original_date_plus_24 = value + datetime.timedelta(hours=24)
right_now = datetime.datetime.now()
if right_now >= original_date_plus_24:
return True
return False
然后在你的模板中:
{% if object_date|is_at_least_24_hours_ago %}
// It's 24 hours later
{% else %}
// It's not
{% endif %}
答案 2 :(得分:1)
这是关于如何添加日期的示例,
import datetime
b = var_name + datetime.timedelta(0,3) # days, seconds
or
datetime.timedelta(days=1)
通过视图传递值,然后在模板中使用if语句