【Django必備01】——什麼是Django框架?有什麼優勢?模組組成介紹。

Jie啊發表於2021-03-13

01.什麼是Django框架?

Django是一個開放原始碼的Web應用框架,由Python寫成。採用了MTV的框架模式。使用這種架構,程式設計師可以方便、快捷地建立高品質、易維護、資料庫驅動的應用程式。它還包含許多功能強大的第三方外掛,使得Django具有較強的可擴充套件性。


 

02.Django對web開發有哪些優勢

  • 功能完善、要素齊全:該有的、可以沒有的都有,自帶大量常用工具和框架,無須你自定義、組合、增刪及修改。
  • 完善的文件:經過十多年的發展和完善,Django有廣泛的實踐案例和完善的線上文件。開發者遇到問題時可以搜尋線上文件尋求解決方案。
  • 強大的資料庫訪問元件:Django的Model層自帶資料庫ORM元件,使得開發者無須學習其他資料庫訪問技術(SQL、pymysql、SQLALchemy等)。
  • 靈活的URL對映:Django使用正規表示式管理URL對映,靈活性高。新版的2.0,進一步提高了URL編寫的優雅性。
  • 豐富的Template模板語言:類似jinjia模板語言,不但原生功能豐富,還可以自定義模板標籤,並且與其ORM的用法非常相似。
  • 自帶後臺管理系統admin:只需要通過簡單的幾行配置和程式碼就可以實現一個完整的後臺資料管理控制平臺。
  • 完整的錯誤資訊提示:在開發除錯過程中如果出現執行錯誤或者異常,Django可以提供非常完整的錯誤資訊幫助定位問題

 

03.簡述Django專案的組成模組

初級 Django

  1. Project
    • 工程
  2. Apps
    • 應用
  3. Model
    • 模型
  4. URL Route
    • URL分配器
  5. View
    • 檢視
  6. DTL
    • 模板系統
  7. Admin
    • 管理介面
  8. Cache System
    • 快取系統

 

以下詳細參考:

  • 工程

  工程是承載了Django例項的所有設定的Python程式包。大部分情況下,一個Web站點就是一個工程。工程內可以新建及存放該工程固有的應用,或者儲存Web站點的設定(資料庫設定、Django的選項設定、各應用的設定等)

  • 應用

  對於Django而言,應用之的是表示單一工程的Web應用的Python程式包。由於其本質就是Python程式包,因此方法PYTHONPATH有效地任何位置都沒有問題。這裡最好儘量減少應用與工程、應用於應用之間的依賴關係,做到功能獨立,以便在其他工程中重複利用。

  • 模型

  Django提供了O/R對映工具,因此可以用Python程式碼來描述資料庫佈局。   每個模型都是繼承了django.db.models.Model類的Python的類,分別對應資料庫中的一個表格。通過建資料庫的欄位、關係、行為定義為模型類的屬性或方法,我們可以使用豐富且靈活的資料庫方位API。

  • URL分配器

  URL分配器機制使得URL資訊不再受框架及副檔名的制約,從而讓Web應用的URL設計保持簡介。
  URl在URlconf模組中進行描述,URLconf模組中包含使用正規表示式書寫的URL和Python函式的映像。URlconf能夠以應用為單位進行分割,因此提高了應用的可重複利用性。另外,我們可以利用給URL設定名稱並定義的方式讓程式碼和目標直接通過該名稱呼叫URL,從而將URL設計與程式碼分離。

  • 檢視

  Django的檢視時一類函式,它能夠生成指定頁面的HttpResponse物件或像Http 404這樣的異常情況,返回HTTP請求。典型的檢視函式的處理流程通常是從請求引數中獲取資料,讀取模型,熱按後根據獲取的資料渲染模板。

  • 模板系統

  在Django的概念中,模板系統只負責顯示,並不是編寫邏輯程式碼的環境。因此Django的模板系統將設計與內容、程式碼分離開來,是一共功能強、擴充套件性高、對設計者很友好的模板語言。
  模板基於文字而不是XML,因此它不但能生成XML和HTML,還能生成E-mail、JavaScript、CSV等任意文字格式。
  另外,如果使用模板繼承功能,子模板只需要將父模板中預留的空位填滿即可。我們在編寫模板時只需要描述各個模板獨有的部分,因此可以省去重複冗餘的編碼過程。

  • 管理介面

  大多Web應用在執行過程中,都需要一個專供擁有管理員許可權的使用者新增、編輯、刪除資料的介面,但是實際製作這個介面並不容易。
  Django只需將已經完工的模型新增到管理站點,就能根據模型定義,動態地生成頁面。為我們提供一個功能齊全的管理介面。

  • 快取系統

  Django可以使用memcached等快取後端輕鬆地快取資料。比如可以將動態頁面的渲染結果快取下來,等到下次需要時直接讀取快取,從而不必每次都對動態頁面進行處理。
  快取的後端可以從memcached、資料庫、檔案系統、本地記憶體等位置進行選擇。快取物件也支援整個網站、特定的整個檢視、部分模板、特定資料等。

相關文章