【Python web 開發】django 從請求到響應經歷了什麼?
阿新 • • 發佈:2018-12-01
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
。。。。