我刚刚开始使用自定义模板标签。
我的forum_tags.py
自定义模板模块中有以下代码:
from datetime import datetime, timedelta
from django import template
from django.utils.timesince import timesince
register = template.Library()
@register.filter
def time_until(value):
now = datetime.now()
try:
difference = value - now
except:
return value
if difference <= timedelta(minutes=1):
return 'just now'
return '%(time)s ago' % {'time': timesince(value).split(', ')[0]}
代码必须采用timesince
模板标签返回的字符串,并仅返回其中的第一个值(由“,”分隔)。
在我的html
文件中,我像这样使用它:
{% load forum_tags %}
<div class="started">
<p>{{ obj.pub_date|timesince:forum_time|time_until }}</p>
</div>
但我仍然得到整个字符串。怎么了?