On Wed, 21 Feb 2007 12:32:08 +0100, Manlio Perillo <[EMAIL PROTECTED]> wrote:
Hi.

I want to compose a page, using a main template.
A simple solution is to use macros

class Resource(rend.rend):
  def macro_main(self, ctx):
     return loaders.xmlfile(...)


The macro_main method is called only once.

However it seems that macros are going to be removed, moreover if I change

Not to my knowledge, at least I'd be opposed/incline to re-implement them
because I use them extensively in all my projects.

the child template, I have to reload the server.

Not really... just change the macro too with something like touch.

A solution is to use a render (code not tested):

class Resource(rend.rend):
  template = ... # The child template to load

  def macro_main(self, ctx):
     return self.state.setdefault(
              template, loaders.xmlfile(self.template)
              )


Here I'm storing the loader instance in a dictionary, to optimize template loading.

Useless, loaders already have a cache.

Is this solution as efficient as the one with macros?

macros are not a way to cache stuff, but to compose stuff dynamically at 
pre-compile time.

_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

Reply via email to