views:

110

answers:

1

How do we setup Cheetah so it runs with all templates in the templates directory and all code in the .. directory

in code.py

production=True
if not production:
    try:web.render('mafbase.tmpl', None, True, 'mafbase')
    except:pass
else:
    from templates import mafbase

in templates/mafbase.tmpl and templates/mafbase.py

try:web.render('mafbase.tmpl', None, True, 'mafbase')

This works but is very slow to load and causes timeout errors

from templates import mafbase

This doesnt work, the exception traceback is:

   return self._delegate(fn, self.fvars, args)
  File "/home/mark/work/common/web/application.py", line 411, in _delegate
    return handle_class(cls)
  File "/home/mark/work/common/web/application.py", line 386, in handle_class
    return tocall(*args)
  File "user.py", line 262, in proxyfunc
    return func(self, *args, **kw)
  File "/home/mark/work/pop/code.py", line 1796, in GET
    return web.render('subclass.html')
  File "/home/mark/work/common/web/cheetah.py", line 104, in render
    return str(compiled_tmpl)
  File "/usr/lib/python2.5/site-packages/Cheetah-2.0.1-py2.5-linux-i686.egg/Cheetah/Template.py", line 982, in __str__
    def __str__(self): return getattr(self, mainMethName)()
  File "mafbase.py", line 634, in respond
  File "/usr/lib/python2.5/site-packages/Cheetah-2.0.1-py2.5-linux-i686.egg/Cheetah/Template.py", line 1512, in _handleCheetahInclude
    nestedTemplateClass = compiler.compile(source=source,file=file)
  File "/usr/lib/python2.5/site-packages/Cheetah-2.0.1-py2.5-linux-i686.egg/Cheetah/Template.py", line 693, in compile
    fileHash = str(hash(file))+str(os.path.getmtime(file))
  File "/usr/lib/python2.5/posixpath.py", line 143, in getmtime
    return os.stat(filename).st_mtime
OSError: [Errno 2] No such file or directory: '/home/mark/work/pop/widgetbox.html'