I have many difficulties using ZPT for python product development. METAL in fact. The templates are called like this: PTF = PageTemplateFile StandardLook = PTF('zpt/StandardLook', globals()) AddIssue = PTF('zpt/AddIssue', globals()) index_html = PTF('zpt/index_html', globals()) AddIssue.zpt starts like this: <html metal:use-macro="here/StandardLook/macros/standard"> <div metal:fill-slot="body"> Below is the cryptic error message. So I visited the StandardLook object on its own by going to: http://localhost/instance/StandardLook. and that works just fine. If I remove the metal: attributes from AddIssue.zpt it works fine but lacks the header and footer. I.e., they work fine independently but not together. It works fine for index_html.zpt though. My main question is how to get more useful error messages when using ZPT templates?? And why is it that sometimes StandardLook.zpt gets the blame when the error actually is in index_html.zpt? How do I make my ZPT python product development easier? What tools are available? What hacks? What tricks? Zope 2.4.0 Windows PageTemplates 1.4.1 Best regards, Peter -------- Traceback -------------- Undefined Sorry, a site error occurred. Traceback (innermost last): File C:\Program\zope240_2\lib\python\ZPublisher\Publish.py, line 223, in publish_module File C:\Program\zope240_2\lib\python\ZPublisher\Publish.py, line 187, in publish File C:\Program\zope240_2\lib\python\Zope\__init__.py, line 226, in zpublisher_exception_hook (Object: LockableItem) File C:\Program\zope240_2\lib\python\ZPublisher\Publish.py, line 171, in publish File C:\Program\zope240_2\lib\python\ZPublisher\mapply.py, line 160, in mapply (Object: AddIssue) File C:\Program\zope240_2\lib\python\ZPublisher\Publish.py, line 112, in call_object (Object: AddIssue) File C:\Program\zope240_2\lib\python\Shared\DC\Scripts\Bindings.py, line 324, in __call__ (Object: AddIssue) File C:\Program\zope240_2\lib\python\Shared\DC\Scripts\Bindings.py, line 354, in _bindAndExec (Object: AddIssue) File C:\Program\zope240_2\lib\python\Products\PageTemplates\PageTemplateFile.py, line 163, in _exec (Object: AddIssue) File C:\Program\zope240_2\lib\python\Products\PageTemplates\PageTemplate.py, line 156, in pt_render (Object: AddIssue) (Info: {'container': <IssueTracker instance at 01668FE0>, 'here': <IssueTracker instance at 01668FE0>, 'modules': <Products.PageTemplates.ZRPythonExpr._SecureModuleImporter instance at 01048FB4>, 'nothing': None, 'options': {'args': ()}, 'request': [..<removed from traceback, by me :) ..>.] 'root': <Application instance at 014DED58>, 'template': <PageTemplateFile instance at 00FF0E10>, 'traverse_subpath': [], 'user': petbe}) File C:\Program\zope240_2\lib\python\TAL\TALInterpreter.py, line 229, in __call__ File C:\Program\zope240_2\lib\python\TAL\TALInterpreter.py, line 262, in interpret File C:\Program\zope240_2\lib\python\TAL\TALInterpreter.py, line 581, in do_useMacro File C:\Program\zope240_2\lib\python\Products\PageTemplates\Expressions.py, line 198, in _eval (Info: here) File C:\Program\zope240_2\lib\python\Products\PageTemplates\Expressions.py, line 336, in restrictedTraverse (Object: LockableItem) (Info: (['StandardLook', 'macros', 'standard'], 1)) Undefined: Sorry, an error occurred