1. 程式人生 > >【Python web 開發】django 從請求到響應經歷了什麼?

【Python web 開發】django 從請求到響應經歷了什麼?

 

setting中註冊的middleware會將使用者request的資料經過這些middlware中有process_request方法和process_response方法註冊進入。

當用戶的request進入view之前會將這些process_request通通呼叫一遍

如果使用者post過來的是session_id那麼我們的session middleware就會起作用。

會執行上面程式碼從request.cookies中獲取到setting中設定的SESSION_COOKIE_NAME
這裡僅僅是完成了把session放入request。

這裡的middleware和scrapy中的middlware是一樣的

 

 解讀:

1、瀏覽器發起一個http 的請求,http 請求會通過Python的handler 序列化出一個httprequest 物件

2、經過request 的middleware(這些middleware就是我們seeting 裡面設定的middleware)

3、只有過載了process_request才叫做 request middleware

這裡面我們不一定只加工傳過來的request,也可以直接返回,這話情況會直接返回,不會進入view 中

全域性攔截器,攔截使用者的瀏覽器是否是chrome 瀏覽器 就可以在middleware 裡面判斷瀏覽器的版本或者型號是否是chome ,不是的話 就直接rerurn response

。。。。