如Pyramid Docs - Using Hooks中所述,使用@notfound_view_config时,我无法让我指定的模板呈现。
视图.py:
@notfound_view_config(renderer='templates/notfound.pt')
def notfound(request):
return Response('Not Found, dude', status='404 Not Found')
模板/notfound.pt:
<html xmlns="http://www.w3.org/1999/xhtml"
metal:use-macro="base">
<tal:block metal:fill-slot="content">
<!-- Example row of columns -->
<div class="row">
<div class="span12">
<h1>Error:</h1>
<p>Uh, oh... you snagged an error:</p>
<pre>"${request}"</pre>
<p>You can return to the <a href="${request.application_url}">homepage</a> if you wish.</p>
</div>
</div>
</tal:block>
</html>
当点击一个不存在的页面时,我在空白页面上看到消息“未找到,伙计”,但我希望看到我的模板“呃,哦......你遇到了一个错误!” 其次是请求信息。
我怀疑我读错了:
notfound_view_config 构造函数接受大多数与 pyramid.view.view_config 构造函数相同的参数。它可以在相同的地方使用,并且以大致相同的方式运行,除了它总是注册一个未找到的异常视图而不是一个“正常”视图。
一方面,似乎我应该能够将“renderer”指定为参数,因为它在 pryamid.view.view_config 中受支持。另一方面,听起来它总是加载[未找到异常视图] [3],而不管“渲染器”选项。
真的,我的最终问题(和目标)是,当找不到页面时如何显示/呈现我的模板?