Я пытаюсь найти способ настроить сообщения об ошибках (404, 403) в моем приложении Pyramid. Я нашел этот документ , но до сих пор не ясно, как это сделать.
Что мне нужно сделать, чтобы отобразить один из шаблонов (скажем, 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"
}
Конечно, это не работает (как мне указать имя шаблона в этом случае?), И даже больше: кажется, что view вообще не вызывается, и его код игнорируется.