tornado學習筆記day04 執行順序

2021-10-02 04:58:53 字數 3533 閱讀 7318

self.write()函式

原始碼中是這樣定義的

def

write

(self, chunk: union[

str,

bytes

,dict])

->

none

:

將chunk資料寫到緩衝區

當你寫了乙個print之後,不是直接就顯示在黑屏中斷上面的,而是先到緩衝區走乙個趟

只是我們python演示不了,這個得用c語言來演示,還得是linux系統才行,兩種條件都不具備

這裡我們需要gcc或者g++(編譯c++的)

# include

int main(

)return0;

}

**演示

class

writehandler

(requesthandler)

:def

get(self)

: self.write(

"write page info tornado!"

) self.write(

"write page nicie tornado!"

) self.write(

"write page coll tornado!"

) self.write(

"write page beautiful tornado!"

)'''

你會發現他們是連著的,因為我都寫在了緩衝區裡面

'''# 重新整理緩衝區, 並關閉當前請求通道

self.finish(

)# 如果我不寫他,當我們的程式結束,他也會重新整理了

# 下面這行就寫丟了

self.write(

"write page wonderful tornado!"

)

在django那時候是不是有jsonresponse

比如在豆瓣影評

當我們往下滾輪的時候請求json資料

在本地通過建立dom的方式進行載入的

get(引數在url後面)

post(引數單獨打包)

head

類似get請求,只不過響應中沒有具體的內容,用於獲取報頭的,一般你不會用

delete

請求伺服器刪除指定的資源的

put從客戶端向伺服器傳送指定的內容

patch

請求修改區域性內容

options

返回url支援所有的http方法

注意:

class

indexhandler

(requesthandler)

:def

initialize

(self)

->

none

:print

("init_initialize"

)def

prepare

(self)

:print

("prepare"

)def

get(self)

:print

("get_start"

) self.write(

"main page info tornado!"

)def

set_default_headers

(self)

->

none

:print

(":set_default_headers"

)def

write_error

(self, status_code:

int,

**kwargs: any)

->

none

:print

("write_error"

)def

on_finish

(self)

->

none

:print

("on_finish"

)

執行的結果順序如下

:set_default_headers

init_initialize

prepare

get_start

on_finish

另一種方式,帶有錯誤的情況

class

indexhandler

(requesthandler)

:def

initialize

(self)

->

none

:print

("init_initialize"

)def

prepare

(self)

:print

("prepare"

)def

get(self)

: self.send_error(

500)

print

("get_start"

) self.write(

"main page info tornado!"

)def

set_default_headers

(self)

->

none

:print

(":set_default_headers"

)def

write_error

(self, status_code:

int,

**kwargs: any)

->

none

:print

("write_error"

) self.write(

"伺服器內部錯誤!!!"

)def

on_finish

(self)

->

none

:print

("on_finish"

)

執行的結果順序如下

:set_default_headers

init_initialize

prepare

:set_default_headers

write_error

on_finish

get_start

丟擲錯誤時

這個順序你得記住,其實也不用,你要是忘了就回來看就行了,但是你要理解其中的每個函式的作用

tornado學習筆記day01

tornado學習筆記day02

tornado學習筆記day03

tornado學習筆記day04

tornado學習筆記day05

tornado學習筆記day06

tornado學習筆記day07

tornado學習筆記day08

Python學習筆記 day0

本部落格標題設計敏感關鍵字0day,違反相關法律法規,現已處理。1.輸入 raw input 這個可以輸入一行。和c 不同,它不能讀取單個整數 我的意思是,它是以字串儲存的。所以沒有什麼諸如 d這種東西。name raw input 這樣就可以讀入乙個字串,相當於gets name 考慮到人性化設計...

前端學習筆記 day0

utf 8 萬國碼 開發時我們使用的字符集都是utf 8 gb2312 國標 通過meta標籤設定網頁字符集,避免亂碼問題。此處為設定字符集,避免亂碼 用來設定網頁的元資料,底層資料,網頁的屬性。元資料不是給使用者看的 它是自結束標籤 常用的屬性 name指定資料的名稱 content指定資料的內容...

JAVA語言基礎 JAVA學習筆記 DAY03

b 案例演示 邏輯運算子的基本用法 class demo1 operator 注意事項 c 結論 邏輯與 有false則false。邏輯或 有true則true。邏輯異或 相同為false,不同為true。邏輯非 非false則true,非true則false。b 同理 和 的區別?c 開發中常用誰...