的功能,我想用一個def
作爲一個函數,並調用它從if
塊:調用高清作爲一個Mako的模板
<%def name="check(foo)">
% if len(foo.things) == 0:
return False
% else:
% for thing in foo.things:
% if thing.status == 'active':
return True
% endif
% endfor
% endif
return False
</%def>
% if check(c.foo):
# render some content
% else:
# render some other content
% endif
不用說,這句法不起作用。我不想做一個表達式替換(並且只是渲染def的輸出),因爲邏輯是一致的,但是呈現的內容因地而異。
有沒有辦法做到這一點?
編輯: 圍封在<% %>
的DEF的邏輯似乎是要走的路。
好的,但是在mako def中Python有沒有優勢? – Hollister 2011-01-20 16:56:03