總結一下: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