我有現成的templatetag,show_next_event
:定製Django的乾爽templatetags
def show_next_event():
try:
e = Event.objects.filter(published='1').order_by('date').filter(date__gte=datetime.date.today())[0]
except IndexError:
e = ''
return {'event': e}
register.inclusion_tag('events/next_event.html')(show_next_event)
我想抽象的模板。首先想到的是將show_next_event
更改爲next_event
,然後添加兩個新功能; show_next_event
和show_next_event_badge
。我希望我能做類似以下的事情,但它不能按原樣工作:
def next_event():
try:
e = Event.objects.filter(published='1').order_by('date').filter(date__gte=datetime.date.today())[0]
except IndexError:
e = ''
return {'event': e}
def show_next_event():
next_event
register.inclusion_tag('events/next_event.html')(show_next_event)
def show_next_event_badge():
next_event
register.inclusion_tag('events/next_event_badge.html')(show_next_event_badge)
或者還有更好的解決方案嗎?
需要導入哪些模塊才能使用裝飾器?我喜歡這種方式! – Flowpoke 2011-04-15 20:36:40
您不需要導入任何其他內容。 – 2011-04-15 20:45:13