tornado捕獲和處理404錯(cuò)誤的方法
Tornado 文檔中提到但是這樣只能捕獲到handlers中列出的路徑請(qǐng)求中的錯(cuò)誤。
如果只定義了(r"/hello", HelloHandler) 一條規(guī)則,那么只能捕獲到 /hello/other,這樣的未定義路徑請(qǐng)求,而像/he、/helloworld、/he/other這樣的會(huì)直接顯示Tornado默認(rèn)的404錯(cuò)誤頁面,而不會(huì)顯示自定義的錯(cuò)誤頁面。
解決方法很簡單只需要在路由規(guī)則的最后加一條(r".*", BaseHandler),用于捕獲未被其他規(guī)則捕獲的所有請(qǐng)求,然后覆寫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)模擬登錄小米搶手機(jī)
- tornado框架blog模塊分析與使用
- python常用web框架簡單性能測試結(jié)果分享(包含django、flask、bottle、tornado)
- 使用基于Python的Tornado框架的HTTP客戶端的教程
- 簡單介紹Python的Tornado框架中的協(xié)程異步實(shí)現(xiàn)原理
- Tornado Web服務(wù)器多進(jìn)程啟動(dòng)的2個(gè)方法
- Python的Tornado框架實(shí)現(xiàn)圖片上傳及圖片大小修改功能
相關(guān)文章
從0開始的Python學(xué)習(xí)014面向?qū)ο缶幊蹋ㄍ扑])
這篇文章主要介紹了Python面向?qū)ο缶幊?,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04實(shí)現(xiàn)Python圖形界面框架TkInter寫GUI界面應(yīng)用簡介過程操作
TkInter是Python用于開發(fā)GUI界面的標(biāo)準(zhǔn)庫,如果你想快速開發(fā)一個(gè)帶有GUI界面的小工具(笑小程序),且又能同時(shí)在Linux、Windows、Mac上使用,TkInter天生支持跨平臺(tái),天生具備穩(wěn)定性,我認(rèn)為它能滿足內(nèi)部工具的簡單需求2021-09-09基于python實(shí)現(xiàn)百度語音識(shí)別和圖靈對(duì)話
這篇文章主要介紹了基于python實(shí)現(xiàn)百度語音識(shí)別和圖靈對(duì)話,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Python動(dòng)態(tài)可視化模塊Pynimate初體驗(yàn)
Pynimate是python第三方用于動(dòng)態(tài)可視化的數(shù)據(jù)模塊,是一位專攻?Python?語言的程序員開發(fā)的安裝包。本文將通過幾個(gè)簡單的示例,講解一下Pynimate的使用方法,需要的可以參考一下2023-02-02詳解python常用命令行選項(xiàng)與環(huán)境變量
這篇文章主要介紹了python常用命令行選項(xiàng)與環(huán)境變量,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02使用Python的Twisted框架構(gòu)建非阻塞下載程序的實(shí)例教程
Twisted的異步工作模式使其在非阻塞情況下可以擁有較高的性能,這里我們來看一下使用Python的Twisted框架構(gòu)建非阻塞下載程序的實(shí)例教程,包括服務(wù)器端與客戶端的實(shí)踐.2016-05-05Python利用appium實(shí)現(xiàn)模擬手機(jī)滑動(dòng)操控的操作
Appium 是一個(gè)開源、跨平臺(tái)的自動(dòng)化測試工具,用于測試原生和輕量移動(dòng)應(yīng)用,支持 iOS, Android 和 FirefoxOS 平臺(tái)。本文將利用appium實(shí)現(xiàn)模擬手機(jī)滑動(dòng)操控的操作,感興趣的可以了解一下2022-07-07