tornado捕獲和處理404錯誤的方法
Tornado 文檔中提到但是這樣只能捕獲到handlers中列出的路徑請求中的錯誤。
如果只定義了(r"/hello", HelloHandler) 一條規(guī)則,那么只能捕獲到 /hello/other,這樣的未定義路徑請求,而像/he、/helloworld、/he/other這樣的會直接顯示Tornado默認的404錯誤頁面,而不會顯示自定義的錯誤頁面。
解決方法很簡單只需要在路由規(guī)則的最后加一條(r".*", BaseHandler),用于捕獲未被其他規(guī)則捕獲的所有請求,然后覆寫get方法,并在方法中調(diào)用自定義的write_error方法。 例:
class BaseHandler(tornado.web.RequestHandler):
def get(self):
self.write_error(404)
def write_error(self, status_code, **kwargs):
if status_code == 404:
self.render('public/404.html')
elif status_code == 500:
self.render('public/500.html')
else:
self.write('error:' + str(status_code))
- Python的Tornado框架的異步任務(wù)與AsyncHTTPClient
- Python Web服務(wù)器Tornado使用小結(jié)
- Python(Tornado)模擬登錄小米搶手機
- tornado框架blog模塊分析與使用
- python常用web框架簡單性能測試結(jié)果分享(包含django、flask、bottle、tornado)
- 使用基于Python的Tornado框架的HTTP客戶端的教程
- 簡單介紹Python的Tornado框架中的協(xié)程異步實現(xiàn)原理
- Tornado Web服務(wù)器多進程啟動的2個方法
- Python的Tornado框架實現(xiàn)圖片上傳及圖片大小修改功能
相關(guān)文章
從0開始的Python學習014面向?qū)ο缶幊蹋ㄍ扑])
這篇文章主要介紹了Python面向?qū)ο缶幊?,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04實現(xiàn)Python圖形界面框架TkInter寫GUI界面應(yīng)用簡介過程操作
TkInter是Python用于開發(fā)GUI界面的標準庫,如果你想快速開發(fā)一個帶有GUI界面的小工具(笑小程序),且又能同時在Linux、Windows、Mac上使用,TkInter天生支持跨平臺,天生具備穩(wěn)定性,我認為它能滿足內(nèi)部工具的簡單需求2021-09-09使用Python的Twisted框架構(gòu)建非阻塞下載程序的實例教程
Twisted的異步工作模式使其在非阻塞情況下可以擁有較高的性能,這里我們來看一下使用Python的Twisted框架構(gòu)建非阻塞下載程序的實例教程,包括服務(wù)器端與客戶端的實踐.2016-05-05Python利用appium實現(xiàn)模擬手機滑動操控的操作
Appium 是一個開源、跨平臺的自動化測試工具,用于測試原生和輕量移動應(yīng)用,支持 iOS, Android 和 FirefoxOS 平臺。本文將利用appium實現(xiàn)模擬手機滑動操控的操作,感興趣的可以了解一下2022-07-07