我正在尝试使用python龙卷风实现自定义404页面。
文档说:“ default_handler_class
和default_handler_args
:如果未找到其他匹配项,将使用此处理程序;使用它来实现自定义404页面(Tornado 3.2中的新功能)。”。没有有关处理程序如何工作的良好信息。我尝试使用此代码:
class defaultHandler(tornado.web.RequestHandler):
def __init__(self,arg2,arg3):
print("Called default handler")
self.arg2 = arg2
self.arg3 = arg3
def get(self):
self.write("404 - my thing")
使用龙卷风配置:
return tornado.web.Application([
(r"/main",MainHandler),(r"/update_kurse",updateCallback),(r"/",LoginPage),],static_path=os.path.join(os.path.dirname(__file__),"static"),template_path=os.path.join(os.path.dirname(__file__),"templates"),default_handler_class=defaultHandler)
这会导致错误:
ERROR:tornado.application:Uncaught exception
Traceback (most recent call last):
File "C:\Users\******\lib\site-packages\tornado\http1connection.py",line 273,in _read_message
delegate.finish()
File "C:\Users\******\lib\site-packages\tornado\routing.py",line 268,in finish
self.delegate.finish()
File "C:\Users\******\lib\site-packages\tornado\web.py",line 2297,in finish
self.execute()
File "C:\Users\******\lib\site-packages\tornado\web.py",line 2337,in execute
return self.handler._prepared_future
AttributeError: 'defaultHandler' object has no attribute '_prepared_future'
ERROR:tornado.application:Error in exception logger
Traceback (most recent call last):
File "C:\Users\******\lib\site-packages\tornado\web.py",line 1665,in _execute
if self.request.method not in self.SUPPORTED_METHODS:
AttributeError: 'function' object has no attribute 'method'
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "C:\Users\******\lib\site-packages\tornado\web.py",line 1752,in _handle_request_exception
self.log_exception(*sys.exc_info())
File "C:\Users\******\lib\site-packages\tornado\web.py",line 1790,in log_exception
self._request_summary(),File "C:\Users\******\lib\site-packages\tornado\web.py",line 1740,in _request_summary
self.request.method,AttributeError: 'function' object has no attribute 'method'
ERROR:tornado.application:Exception in exception handler
Traceback (most recent call last):
File "C:\Users\******\lib\site-packages\tornado\web.py",line 1708,in _execute
self._handle_request_exception(e)
File "C:\Users\******\lib\site-packages\tornado\web.py",line 1757,in _handle_request_exception
if self._finished:
AttributeError: 'defaultHandler' object has no attribute '_finished'
ERROR:asyncio:Exception in callback _HandlerDelegate.execute.<locals>.<lambda>(<Task finishe...ed_future'",)>) at C:\Users\******\lib\site-packages\tornado\web.py:2333
handle: <Handle _HandlerDelegate.execute.<locals>.<lambda>(<Task finishe...ed_future'",)>) at C:\Users\******\lib\site-packages\tornado\web.py:2333>
Traceback (most recent call last):
File "C:\Users\******\lib\site-packages\tornado\web.py",another exception occurred:
Traceback (most recent call last):
File "C:\Users\******\lib\asyncio\events.py",line 145,in _run
self._callback(*self._args)
File "C:\Users\******\lib\site-packages\tornado\web.py",line 2333,in <lambda>
fut.add_done_callback(lambda f: f.result())
File "C:\Users\******\lib\site-packages\tornado\web.py",line 1714,in _execute
if self._prepared_future is not None and not self._prepared_future.done():
AttributeError: 'defaultHandler' object has no attribute '_prepared_future'
Called default handler
ERROR:tornado.application:Uncaught exception
Traceback (most recent call last):
File "C:\Users\******\lib\site-packages\tornado\http1connection.py",in _execute
if self._prepared_future is not None and not self._prepared_future.done():
AttributeError: 'defaultHandler' object has no attribute '_prepared_future'
我在做什么错?我找不到使用Python龙卷风工作的404页面的任何示例。我调查了路由器,但这似乎不合适。