Python Cherrypy 404错误处理

时间:2010-01-08 08:50:55

标签: python cherrypy

我有一个Web服务器,其中包含代码中设置的所有配置,但我希望能够处理所有页面404错误。我将如何在Python中执行此操作?

3 个答案:

答案 0 :(得分:9)

如果您想要更传统地替换4xx和5xx输出,请参阅http://www.cherrypy.org/wiki/ErrorsAndExceptions#AnticipatedHTTPresponses

答案 1 :(得分:5)

在根目录中创建默认处理程序。

class Root:
    def index(self):
        return "Hello!"
    index.exposed = True

    def default(self, attr='abc'):
        return "Page not Found!"
    default.exposed = True

答案 2 :(得分:0)

预期的HTTP响应

'error_page'配置命名空间可用于为其提供自定义HTML输出 预期的反应(如404 Not Found)。提供输出的文件名 将被阅读。内容将使用值%(状态)s进行插值, 使用普通旧Python的%(message)s,%(traceback)s和%(version) string formatting <http://www.python.org/doc/2.6.4/library/stdtypes.html#string-formatting-operations> _

::

_cp_config = {'error_page.404': os.path.join(localDir, "static/index.html")}

从3.1版开始,您还可以提供函数或其他可调用函数 一个error_page条目。它将传递相同的状态,消息,回溯和 插入到templates ::

中的版本参数
def error_page_402(status, message, traceback, version):
    return "Error %s - Well, I'm very sorry but you haven't paid!" % status
cherrypy.config.update({'error_page.402': error_page_402})

同样在3.1中,除了编号的错误代码外,您还可以提供 “error_page.default”来处理没有自己的error_page条目的所有代码