I can't for the life of me get this simple template example to work, which 
can be seen here: http://webpy.org/docs/0.3/tutorial

Here's the project layout:

$ find .
.
./code.py
./code.pyc
./templates
./templates/index.html

Contents of code.py:

$ cat code.py
import web

render = web.template.render('templates/')

urls = (
    '/', 'index'
)

class index:
    def GET(self):
        name = 'test'
        return render.index(name)

if __name__ == '__main__':
    app = web.application(urls, globals())
    app.run()

Contents of templates/index.html:

$ cat templates/index.html 
$def with (name)

hi $name

When I run the test web server, it seems that "templates" is supposed to be 
a Python package?  I don't see in the docs or tutorial that it should be...

$ python code.py                                                           
                                       
Traceback (most recent call last):                                         
                                       
  File "code.py", line 3, in <module>                                       
                                      
    render = web.template.render('templates/')                             
                                       
  File 
"/home/keith/env/webpy/local/lib/python2.7/site-packages/web/template.py", 
line 1036, in __init__
    self.mod = __import__(name, None, None, ['x'])                         
                                       
ImportError: No module named templates                                     
                                       

I tried to make that a package:

$ find .
.
./code.py
./code.pyc
./templates
./templates/index.html
./templates/__init__.py

Web server starts now:

$ python code.py     
http://0.0.0.0:8080/ 

But when I try to view the page, I get a 500:

Traceback (most recent call last):                                         
                                               
  File 
"/home/keith/env/webpy/local/lib/python2.7/site-packages/web/application.py", 
line 239, in process       
    return self.handle()                                                   
                                               
  File 
"/home/keith/env/webpy/local/lib/python2.7/site-packages/web/application.py", 
line 230, in handle        
    return self._delegate(fn, self.fvars, args)                             
                                              
  File 
"/home/keith/env/webpy/local/lib/python2.7/site-packages/web/application.py", 
line 420, in _delegate     
    return handle_class(cls)                                               
                                               
  File 
"/home/keith/env/webpy/local/lib/python2.7/site-packages/web/application.py", 
line 396, in handle_class  
    return tocall(*args)                                                   
                                               
  File "/home/keith/projects/webpy/code.py", line 13, in GET               
                                              
    return render.index(name)                                               
                                              
  File 
"/home/keith/env/webpy/local/lib/python2.7/site-packages/web/template.py", 
line 1017, in __getattr__     
    t = self._template(name)                                               
                                               
  File 
"/home/keith/env/webpy/local/lib/python2.7/site-packages/web/template.py", 
line 1014, in _template       
    return self._load_template(name)                                       
                                               
  File 
"/home/keith/env/webpy/local/lib/python2.7/site-packages/web/template.py", 
line 1043, in _load_template  
    t = getattr(self.mod, name)                                             
                                              
AttributeError: 'module' object has no attribute 'index'                   
                                               
                                                                            
                                              
127.0.0.1:51132 - - [23/Dec/2013 09:35:06] "HTTP/1.1 GET /" - 500 Internal 
Server Error                                   

What is the correct way to use templates in this case?

Keith

-- 
You received this message because you are subscribed to the Google Groups 
"web.py" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/webpy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to