Terry Macdonald
terry.macdonald at dsl.pipex.com
Sat Dec 2 13:25:35 EST 2006
Personally I use the excellent Cheetah template package. I create template files and compile them to .py module files and import then into my handlers/controllers and manipulate them there so for a template page.tmpl, it compiles to page.py and in my handler/controller... page = apache_import('page').page page.objectlist = db.getlistofobjects() page.<var> = ... etc <Any other business/app logic etc> return page() Very neat and simple and all your page structure is in separate templates which will be reimported automatically when changed & compiled by the new importer module. Before, I was restarting apache On Sat, 2006-12-02 at 08:26 -0200, Clodoaldo wrote: > I'm doing a very light templating in a publisher program. > > There is a html template read from the index.html file in which > '%(variable)s' are replaced. > > This code reads the template from the file: > > f = open('/var/www/html/carconsumption.com/index.html', 'r') > _html = ''.join(f.readlines()) > f.close() > > And then inside index() at return time the usual substitution: > > return C._html % _d > > Editing a file with the extension .html is nice with editors with html > syntax highlighting, completion and other things. The only problem > with this approach is that the file index.html is not reloaded when > changed. > > I know i could just use a generic handler with PSP as templating. But > the publisher is so convenient and as the new importer in 3.3 is full > of tricks like importing modules with any extension i would like to > know if there is some way to import a whole module into a variable > value preventing it from being interpreted as python code. > > If the above is nonsense what would be a better approach for > templating within publisher programs or just to solve the not > reloadable index.html file? > > Regards,
|