我在Pyramid应用程序中定义了自定义404视图:
@view_config(context=HTTPNotFound, renderer='404.pt')
def not_found(self, request):
return {}
Run Code Online (Sandbox Code Playgroud)
它工作正常,除了与内容一起发送的HTTP状态代码是200 OK,这无论如何都不行.403 Forbidden我遇到了同样的问题.如何让Pyramid发送正确的状态代码?
Mic*_*kel 20
异常视图是一个单独的视图,为您提供所需的任何内容.就像使用渲染器的任何视图一样,您可以通过request.response修改响应对象来修改其行为.渲染器然后填充身体.
@view_config(context=HTTPNotFound, renderer='404.pt')
def not_found(self, request):
request.response.status = 404
return {}
Run Code Online (Sandbox Code Playgroud)
实际上,在金字塔1.3中有一个新的装饰器@notfound_view_config.
@notfound_view_config(renderer = '404_error.jinja2')
def notfound(request):
request.response.status = 404
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4696 次 |
| 最近记录: |