Django請求原理

總結一下:html

1. 進來的請求轉入/hello/.正則表達式

2. Django經過在ROOT_URLCONF配置來決定根URLconf.數據庫

3. Django在URLconf中的全部URL模式中,查找第一個匹配/hello/的條目。django

4. 若是找到匹配,將調用相應的視圖函數瀏覽器

5. 視圖函數返回一個HttpResponseapp

6. Django轉換HttpResponse爲一個適合的HTTP response, 以Web page顯示出來函數

=====================================================url

一、建立projectspa

二、建立app設計

三、把app加入到settings.py中

四、修改views.py,寫入def函數(首頁視圖)

五、templates模板下新建首頁html函數(js代碼)模板能夠運行各類循環和條件判斷等等 

六、修改urls.py(視圖函數和網址對應)

七、修改modules.py 建立數據庫, ( makemigrations & migrate ) 數據表的增刪改查 QuerySet

八、運行 runserver IP和端口

九、定義後臺頁面,app下新建admin.py

十、定義表單頁面,ap下新建form.py

十一、靜態文件配置 settings.py

 

 

 


 

先簡單的介紹一下django的工做原理,其中還會涉及到Middleware(中間件,包括request, view, exception, response),URLConf(url映射關係),Template(模板系統)這幾個概念,稍後會有介紹 。

    1. 用戶經過瀏覽器請求一個頁面

    2. 請求到達Request Middlewares中間件,中間件對request作一些預處理或者直接response請求

    3. URLConf經過urls.py文件和請求的URL找到相應的View

    4. View Middlewares被訪問,它一樣能夠對request作一些處理或者直接返回response

    5. 調用View中的函數

    6. View中的方法能夠選擇性的經過Models訪問底層的數據

    7. 全部的Model-to-DB的交互都是經過manager完成的

    8. 若是須要,Views可使用一個特殊的Context

    9. Context被傳給Template用來生成頁面

      a. Template使用Filters和Tags去渲染輸出

      b. 輸出被返回到View

      c. HTTPResponse被髮送到Response Middlewares

      d. 任何Response Middlewares均可以豐富response或者返回一個徹底不一樣的response

      e. Response返回到瀏覽器,呈現給用戶

 


總結一下:

進來的請求轉入/hello/.

Django經過在ROOT_URLCONF配置來決定根URLconf.

Django在URLconf中的全部URL模式中,查找第一個匹配/hello/的條目。

若是找到匹配,將調用相應的視圖函數

視圖函數返回一個HttpResponse

Django轉換HttpResponse爲一個適合的HTTP response, 以Web page顯示出來

你如今知道了怎麼作一個 Django-powered 頁面了,真的很簡單,只須要寫視圖函數並用 URLconfs把它們和URLs對應起來。 
你可能會認爲用一系列正則表達式將URLs映射到函數也許會比較慢,但事實卻會讓你驚訝 另一個重點,正則表達式字符串的開頭字母「r」。 它告訴Python這是個原始字符串,不須要處理裏面的反斜槓(轉義字符)。
在普通Python字符串中,反斜槓用於特殊字符的轉義。好比n轉義成一個換行符。 當你用r把它標示爲一個原始字符串後,Python再也不視其中的反斜槓爲轉義字符。
也就是說,「n」是兩個字符串:「」和「n」。因爲反斜槓在Python代碼和正則表達式中有衝突,所以建議你在Python定義正則表達式時都使用原始字符串。
從如今開始,本文全部URL模式都用原始字符串。4 如今咱們已經設計了一個帶通配符的URL,咱們須要一個方法把它傳遞到視圖函數裏去,這樣 咱們只用一個視圖函數就能夠處理全部的時間段了。
咱們使用圓括號把參數在URL模式裏標識 出來。 在這個例子中,咱們想要把這些數字做爲參數,用圓括號把 \d{1,2} 包圍起來:

 

 

 

 

 

 

 

 

 

 

 

 

dd

相關文章
相關標籤/搜索