Django 中提供了開發網站經常用到的模塊,常見的代碼都為你寫好了,通過減少重復的代碼,Django 使你能夠專注于 web 應用上有 趣的關鍵性的東西。為了達到這個目標,Django 提供了通用Web開發模式的高度抽象,提供了頻繁進行的編程作業的快速解決方法,以及為“如何解決問題”提供了清晰明了的約定。Django的理念是DRY(Don't Repeat Yourself)來鼓勵快速開發!
## Django 全貌
urls.py
網址入口,關聯到對應的views.py中的一個函數(或者generic類),訪問網址就對應一個函數。
settings.py
Django 的設置,配置文件,比如 DEBUG 的開關,靜態文件的位置,緩存等。
wsgi.py
遵循wsgi規范,創建socket
models.py
與數據庫操作相關,存入或讀取數據時用到這個,當然用不到數據庫的時候 你可以不使用。
forms.py
表單,用戶在瀏覽器上輸入數據提交,對數據的驗證工作以及輸入框的生成等工作,當然你也可以不使用。
templates 文件夾
views.py
處理用戶發出的請求,從urls.py中對應過來, 通過渲染templates中的網頁可以將顯示內容,比如登陸后的用戶名,用戶請求的數據,輸出到網頁。
admin.py
后臺,可以用很少量的代碼就擁有一個強大的后臺。
## Django請求生命周期
發起請求 -> URL對應關系(匹配) -> 視圖函數 -> 處理請求(業務處理,數據庫交互) -> 模板渲染 -> 返回用戶字符串