欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django框架請求生命周期實現(xiàn)原理

 更新時間:2020年11月13日 08:32:04   作者:高~雅  
這篇文章主要介紹了Django框架請求生命周期實現(xiàn)原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

先看一張圖吧!

1、請求生命周期

- wsgi, 他就是socket服務端,用于接收用戶請求并將請求進行初次封裝,然后將請求交給web框架(Flask、Django)

- 中間件,幫助我們對請求進行校驗或在請求對象中添加其他相關數(shù)據,例如:csrf、request.session

- 路由匹配

- 視圖函數(shù),在視圖函數(shù)中進行業(yè)務邏輯的處理,可能涉及到:orm、templates => 渲染

- 中間件,對響應的數(shù)據進行處理。

- wsgi,將響應的內容發(fā)送給瀏覽器。

2、什么wsgi

wsgi:web服務網關接口

實現(xiàn)該協(xié)議的模塊:

  • - wsgiref(測試版本,性能特別差)
  • - werkzurg
  • - uwsig

wsgiref示例:

from wsgiref.simple_server import make_server
 
def run_server(environ, start_response):
  start_response('200 OK', [('Content-Type', 'text/html')])
  return [bytes('<h1>Hello, web!</h1>', encoding='utf-8'), ] #字節(jié)
 
 
if __name__ == '__main__':
  httpd = make_server('127.0.0.1', 8000, run_server)
  httpd.serve_forever()

werkzeug示例:  

from werkzeug.wrappers import Response
from werkzeug.serving import run_simple
 
def run_server(environ, start_response):
  response = Response('hello')
  return response(environ, start_response)   #對象
 
if __name__ == '__main__':
  run_simple('127.0.0.1', 8000, run_server)

3、視圖FBV

url - 函數(shù)

CBV

url - view

FBV(function base view)與CBV(class base view)本質是一樣的,只是fbv基于函數(shù),cbv基于類。只不過fbv較cbv往后多執(zhí)行了幾步。

4、rest-framework

rest-framework從dispatch方法開始介入,執(zhí)行完視圖,如果有rest-framework組件,就執(zhí)行rest-framework。

5、restfui規(guī)范

查看restful規(guī)范詳情

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python中正則表達式findall的用法實例

    python中正則表達式findall的用法實例

    在寫著自動化測試的腳本時重新復習了一下正則表達式findall()方法,下面這篇文章主要給大家介紹了關于python中正則表達式findall用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • python中pycryptodome模塊實現(xiàn)加密算法庫

    python中pycryptodome模塊實現(xiàn)加密算法庫

    PyCryptodome提供了許多密碼學算法和協(xié)議的實現(xiàn),包括對稱加密、非對稱加密、消息摘要、密碼哈希、數(shù)字簽名等,本文主要介紹了python中pycryptodome模塊實現(xiàn)加密算法庫,感興趣的可以了解一下
    2023-11-11
  • ???????如何利用python破解zip加密文件

    ???????如何利用python破解zip加密文件

    這篇文章主要介紹了???????如何利用python破解zip加密文件,文章基于python的相關資料展開破解zip加密文件的詳細內容介紹,需要的小伙伴可以參考一下
    2022-05-05
  • python爬蟲利用代理池更換IP的方法步驟

    python爬蟲利用代理池更換IP的方法步驟

    這篇文章主要介紹了python爬蟲利用代理池更換IP的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • python中如何正確使用正則表達式的詳細模式(Verbose mode expression)

    python中如何正確使用正則表達式的詳細模式(Verbose mode expression)

    許多程序設計語言都支持利用正則表達式進行字符串操作,python自然也不例外,下面這篇文章主要給大家介紹了關于在python中如何正確使用正則表達式的詳細模式(Verbose mode expression)的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-11-11
  • pandas apply多線程實現(xiàn)代碼

    pandas apply多線程實現(xiàn)代碼

    這篇文章主要介紹了pandas apply多線程實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • PyCharm 2020.2下配置Anaconda環(huán)境的方法步驟

    PyCharm 2020.2下配置Anaconda環(huán)境的方法步驟

    這篇文章主要介紹了PyCharm 2020.2下配置Anaconda環(huán)境的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 解決Jupyter無法導入已安裝的 module問題

    解決Jupyter無法導入已安裝的 module問題

    這篇文章主要介紹了解決Jupyter無法導入已安裝的 module問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • ubuntu16.04升級Python3.5到Python3.7的方法步驟

    ubuntu16.04升級Python3.5到Python3.7的方法步驟

    這篇文章主要介紹了ubuntu16.04升級Python3.5到Python3.7的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Python實現(xiàn)屬性可修改的裝飾器方式

    Python實現(xiàn)屬性可修改的裝飾器方式

    這篇文章主要介紹了Python實現(xiàn)屬性可修改的裝飾器方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論