我有一个在代码中设置了所有配置的 Web 服务器,但我希望能够处理所有页面 404 错误。我将如何在 Python 中执行此操作?
问问题
7983 次
3 回答
9
如果您想要更传统地替换 4xx 和 5xx 输出,另请参阅http://www.cherrypy.org/wiki/ErrorsAndExceptions#AnticipatedHTTPresponses 。
于 2010-01-08T17:01:06.137 回答
5
在根目录中创建一个默认处理程序。
class Root:
def index(self):
return "Hello!"
index.exposed = True
def default(self, attr='abc'):
return "Page not Found!"
default.exposed = True
于 2010-01-08T08:58:21.763 回答
0
预期的 HTTP 响应
'error_page' 配置命名空间可用于为预期响应(如 404 Not Found)提供自定义 HTML 输出。提供从中读取输出的文件名。内容将使用普通的旧 Python
string formatting <http://www.python.org/doc/2.6.4/library/stdtypes.html#string-formatting-operations>
_ 插入值 %(status)s、%(message)s、%(traceback)s 和 %(version)s。
::
_cp_config = {'error_page.404': os.path.join(localDir, "static/index.html")}
从 3.1 版开始,您还可以提供一个函数或其他可调用项作为 error_page 条目。它将被传递相同的状态、消息、回溯和版本参数,这些参数被插入到模板中:
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 条目的代码
于 2017-01-20T11:06:21.223 回答