2017-08-27 140 views
1

我想格式化基於一個時間差在將來的日期:自定義模板標籤

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

回答

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)