我有一个Web服务器,其中包含代码中设置的所有配置,但我希望能够处理所有页面404错误。我将如何在Python中执行此操作?
答案 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)
'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条目的所有代码