我正在关注金字塔的教程。在会话08中,我必须创建一个模板(.pt文件),如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Quick Tutorial: ${name}</title>
</head>
<body>
<h1>Hi ${name}</h1>
</body>
</html>
我使用notepad ++来制作这个文件......但它没有这个(.pt)扩展名。 所以我尝试将此文件保存为.html或.txt,当我运行此代码时:
from pyramid.view import view_config
# First view, available at http://localhost:6543/
@view_config(route_name='home', renderer='home.pt')
def home(request):
return {'name': 'Home View'}
# /howdy
@view_config(route_name='hello', renderer='home.pt')
def hello(request):
return {'name': 'Hello View'}
系统返回“找不到文件”.... 如何将文件另存为.pt ???
感谢您的耐心......
答案 0 :(得分:1)
@ Vi3GameHkr提供了正确答案作为对问题的评论(即只需在保存文件时手动更改扩展名)。
还有另一种方式......
您可以使用html扩展名保存文件,然后将html模板与pyramid_chameleon渲染器关联。你可以这样做;
import pyramid_chameleon
def main(global_config, **settings):
config = Configurator(settings=settings)
config.include('pyramid_chameleon')
config.add_renderer('.html', pyramid_chameleon.zpt.renderer_factory)
请注意,pyramid_chameleon已经将txt文件与其text.render_factory相关联(我不确定它与zpt.render_factory有何不同)。
然后,您可以将renderer='home.pt'
更改为renderer='home.html'
如果您使用的是pyramid_mako,则可以执行以下操作(它类似,但pyramid_mako已添加了&#39;快捷键&#39;功能);
def main(global_config, **settings):
config = Configurator(settings=settings)
config.include('pyramid_mako')
config.add_mako_renderer('.html')
pyramid_jinja2提供相同的快捷方式;
def main(global_config, **settings):
config = Configurator(settings=settings)
config.include('pyramid_jinja2')
config.add_jinja2_renderer('.html')