Mercurial > genshi > mirror
annotate examples/webpy/hello.py @ 696:66eead58c120 trunk
More flexible template loader allowing for loading from package data and dispatching to different template directories based on path prefix. Can be easily extended for using custom template loading. Closes #182.
author | cmlenz |
---|---|
date | Wed, 26 Mar 2008 22:49:23 +0000 |
parents | e72bd8515dd2 |
children |
rev | line source |
---|---|
267 | 1 import os |
2 from genshi.template import TemplateLoader | |
3 import web | |
4 | |
5 loader = TemplateLoader([os.path.dirname(os.path.abspath(__file__))], | |
6 auto_reload=True) | |
7 urls = ('/(.*)', 'hello') | |
8 | |
9 | |
10 class hello(object): | |
11 | |
12 def GET(self, name): | |
13 i = web.input(times=1) | |
14 if not name: | |
15 name = 'world' | |
16 name = name.decode('utf-8') | |
17 | |
18 tmpl = loader.load('hello.html') | |
19 stream = tmpl.generate(name=name, times=int(i.times)) | |
20 | |
21 web.header('Content-Type', 'text/html; charset=utf-8', unique=True) | |
271
370fa02591a8
Still too much whitespace in the [WebPy web.py] example. Switch to printing the whole output at once.
cmlenz
parents:
270
diff
changeset
|
22 print stream.render('html') |
267 | 23 |
24 | |
25 if __name__ == '__main__': | |
385 | 26 web.webapi.internalerror = web.debugerror |
27 web.run(urls, globals()) |