Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 16th, 2012  |  syntax: None  |  size: 0.66 KB  |  hits: 14  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Dynamic columns using Mako for tabular data
  2. people = dict_cursor.fetchall()
  3. all_possible_cols = ('Name','Birth','Gender', 'Address','City','State', ...]
  4. user_cols = user_wants(user_id) # ('State','Gender','Name')
  5.  
  6. template.render(**locals())
  7.        
  8. % for person in people:
  9. <tr>
  10.   % for col in user_cols:
  11.     How do I dynamically call the def/block?
  12.   % endfor
  13. </tr>
  14. % endfor
  15.  
  16. <%def name="Name()">    ... </%def>
  17. <%def name="Birth()">   ... </%def>
  18. <%def name="Gender()">  ... </%def>
  19. <%def name="Address()"> ... </%def>
  20. <%def name="City()">    ... </%def>
  21. <%def name="State()">   ... </%def>
  22.        
  23. <tr>
  24.   % for col in user_cols:
  25.     ${getattr(self, col)()}
  26.   % endfor
  27. </tr>