Скорее всего, вы вызываете ошибку в вашем обработчике 404, и я полагаю, что вы не устанавливаете request.error_response
конфигурации cherrypy как this , а об ошибке response_body
check это , вы, вероятно, неправильно используете тело шаблона.
Редактировать из комментариев:
def error_page_404(status, message, traceback, version):
tmpl = tpl.get_template("404.mako")
return tmpl.render(stat=status, msg=message)
cherrypy.config.update({'error_page.404': error_page_404})
Метод render
, задающий поведение функции только с аргументами ключевого слова, вы также можете быть немного более гибкими и указывать такую же функцию, как эта:
def error_page_404(status, message, traceback, version):
tmpl = tpl.get_template("404.mako")
args = {'stat': status,
'msg': message}
return tmpl.render(**args)
Это облегчит расширение ваших аргументов для шаблона, я обычно использую **args
за мои render
звонки.
Но в основном проблема заключалась в том (как вы указали), что вы вызываете визуализацию с аргументами не из ключевых слов, а ожидаемый ввод - это просто аргументы из ключевых слов для шаблона.