【问题标题】:custom template tag with multiple arguments具有多个参数的自定义模板标签
【发布时间】:2018-02-04 19:51:50
【问题描述】:

我想根据时间增量格式化未来的日期:

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

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    这不起作用,因为您没有注册它。一个文件中可以有多个模板标签。

    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)
    

    【讨论】:

      猜你喜欢
      • 2021-09-04
      • 2015-01-15
      • 2015-06-11
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 2011-06-01
      • 2011-08-27
      • 2021-07-13
      相关资源
      最近更新 更多