【发布时间】:2011-04-15 20:12:22
【问题描述】:
我有一个现有的模板标签,show_next_event:
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)
或者有更好的解决方案吗?
【问题讨论】:
标签: python django dry django-templates