我想在将来基于时间增量格式化日期:

from django import template
from datetime import datetime, timedelta, time


register = template.Library()

@register.simple_tag
def tomorrow(format):
    tommorow = datetime.now() + timedelta(days=1)
    return tommorow.strftime(format)

def dayfuture(dday, format):
    dayfuture = datetime.now() + timedelta(days=dday)
    return dayfuture.strftime(format)


这有效:

{% tomorrow "%A, %d %b, %Y" %}


但是我对dayfuture没有运气。

另外,是否可能在同一文件中有多个自定义模板标签。我没有运气再注册一次。

我正在使用django 1.11 pythone 3.4

最佳答案

这没有用,因为您没有注册。一个文件中可能有多个模板标签。

def dayfuture(dday, format):
    dayfuture = datetime.now() + timedelta(days=dday)
    return dayfuture.strftime(format)


您必须在上面放置装饰器才能注册

@register.simple_tag
def dayfuture(dday, format):
    dayfuture = datetime.now() + timedelta(days=dday)
    return dayfuture.strftime(format)

关于python - 具有多个参数的自定义模板标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45903824/

10-13 02:07