我試圖找到一種方法來自定義我的金字塔應用程序中的錯誤消息(404,403)。我發現了this doc,但它仍不清楚如何去做。自定義金字塔錯誤消息
我需要做什麼來渲染其中一個模板(比如說templates/404.pt)而不是標準的404消息。我已經添加下面我__init__.py
:
from pyramid.config import Configurator
from pyramid.httpexceptions import HTTPNotFound
import myapp.views.errors as error_views
<...>
def main(global_config, **settings):
config = Configurator(settings=settings)
config.add_static_view('static', 'myapp:static')
config.add_route(...)
<...>
config.add_view(error_views.notfound, context=HTTPNotFound)
return config.make_wsgi_app()
凡error_views.notfound看起來像
def notfound(request):
macros = get_template('../templates/macros.pt')
return {
'macros': macros,
'title': "HTTP error 404"
}
確保它不工作(我怎麼在這種情況下,指定模板的名字嗎?),甚至更多:似乎視圖根本不被調用,並且代碼被忽略。
謝謝!這也適用於我。 – rvs
在金字塔1.1(PyPI上可用)中,已解決... NotFound和Forbidden已合併到它們各自的HTTPException對象中。 –