首頁>技術>

Django簡介

    Django是一種開源的大而且全的Web應用框架,是由python語言來編寫的。他採用了MVC模式,什麼是MVC?大家不要著急,MVC這麼好的東西我在下面會精細的講一下!Django最初是被開發來用於管理勞倫斯出版集團下的一些以新聞為主內容的網站。一款CMS(內容管理系統)軟體。並於 2005 年 7 月在 BSD 許可證下發布。這套框架是以比利時的吉普賽爵士吉他手 Django Reinhardt 來命名的。

Django版本

至今Django版本已經更新到Django3.0.5,官網下載https://www.djangoproject.com/download/

Django最新版本

說到Django版本不得不提及python版本,Python3.8 的熱乎勁還沒過去,Python 就又雙叒叕要更新了。近日,3.9 版本(https://www.python.org/downloads/release/python-390a4/)的第四個 alpha 版已經開源。從文件中,我們可以看到官方透露的對 dict、math 等元件增加的新特性,以及下一步的開發進展。

Python最新版本

Django優點

強大的資料庫功能

    用 python 的類繼承,幾行程式碼就可以擁有一個豐富、動態的資料庫操作介面(API),如果需要,你也能執行 SQL 語句ORM(Object-Relational Mapping“物件-關係-對映”),它實現了資料模型與資料庫的解耦,即資料模型的設計不需要依賴於特定的資料庫,通過簡單的配置就可以輕鬆更換資料庫

自帶強大的後臺功能

    在admin.py中寫入需要實現功能的程式碼,幾行簡單的程式碼就可以實現你當管理員的夢。再也不用為設計管理員而發愁了!

優雅的網址

    在urls.py中用正則匹配網址,傳遞到對應的函式,隨意你自己定義,網址可以如你所想,如你所願。(需要注意的是:正則是一種獨立的語法,並不是哪個語言所擁有的。)

具有模板系統

    模板系統大大的降低了開發者頭疼腦熱的概率。因為模板系統設計簡單,容易擴充套件。程式碼,樣式分開設計。查詢更清晰,修改更容易!

快取系統

    Django和memcached、redis或者其他的快取系統聯用,提高了頁面的載入速度。讓使用者的體驗度更好了!

templates 資料夾views.py 中的函式渲染 templates 中的 Html 模板,得到動態內容的網頁,當然可以用快取來提高速度。

國際化

    這麼好的東西,想不走上國際化都難啊。想要網頁顯示不同語言,比如中文、英文、還有各種語言。只需要在一個檔案的設定中稍微那麼修改一下。頁面就會穿上各種語言的外衣。

Django 的 App 理念很好。

怎麼樣?Django是否強大到不可想象的地步了?不過大家也不用高興的太早了。因為程式碼還是要寫的,只不過用上了Django開發網站的時候更快速,更便捷了而已!

Django具有以下特點:功能完善、要素齊全:該有的、可以沒有的都有,常用的、不常用的工具都用。Django提供了大量的特性和工具,無須你自己定義、組合、增刪及修改。但是,在有些人眼裡這被認為是‘臃腫’不夠靈活,發揮不了程式設計師的主動能力。(一體機和DIY你更喜歡哪個?^-^)完善的文件:經過十多年的發展和完善,Django有廣泛的實踐經驗和完善的線上文件(可惜大多數為英文)。開發者遇到問題時可以搜尋線上文件尋求解決方案。強大的資料庫訪問元件:Django的Model層自帶資料庫ORM元件,使得開發者無須學習其他資料庫訪問技術(SQL、pymysql、SQLALchemy等)。當然你也可以不用Django自帶的ORM,而是使用其它訪問技術,比如SQLALchemy。靈活的URL對映:Django使用正則表示式管理URL對映,靈活性高。豐富的Template模板語言:類似jinjia模板語言,不但原生功能豐富,還可以自定義模板標籤。自帶免費的後臺管理系統:只需要通過簡單的幾行配置和程式碼就可以實現一個完整的後臺資料管理控制平臺。完整的錯誤資訊提示:在開發除錯過程中如果出現執行錯誤或者異常,Django可以提供非常完整的錯誤資訊幫助定位問題。好了,開始正式跟大家說MVC 、MVT、ORM

大部分開發語言中都有 MVC

MVC 框架的核心思想是: 解耦.即資料模型的設計不需要依賴於特定的資料庫,通過簡單的配置就可以輕鬆更換資料庫

降低各功能模組之間的耦合性,方便變更,更容易重構程式碼,最大程度上實現程式碼的重用

M 表示 model,主要用於對資料庫層的封裝

V 表示 view,用於向用戶展示結果

C 表示 controller,是核心,用於處理請求、獲取資料、返回結果

M代表的是模型(Model), V代表的是檢視(View), C代表的是控制(Contrle)

MVT

Django 是一款 python 的 Web 開發框架

與 MVC 有所不同,屬於 MVT 框架(是不是跟沒說一樣?不過我真的找不到更合適的語句了)

M 表示 model,負責與資料庫互動

V 表示 view,是核心,負責接收請求、獲取資料、返回結果

T 表示 template,負責呈現內容到瀏覽器

什麼是ORM?

給大家一個圖吧:

最後在給大家說一下Django中的核心模組:在堅持一下就看完了

Django核心模組

urls.py

網址入口,關聯到對應的 views.py 中的一個函式(或者 generic 類),訪問網址就對應一個函式。小心在設定函式的時候寫錯單詞哦!

views.py

處理使用者發出的請求,從 urls.py 中對應過來, 通過渲染 templates 中的網頁可以將一些想要看到的內容輸入到網頁上。

models.py

與資料庫操作相關,存入或讀取資料時用到這個,當然用不到資料庫的時候 你可以不使用。

forms.py

表單,使用者在瀏覽器上輸入資料提交,對資料的驗證工作以及輸入框的生成等工作。

templates 資料夾

views.py 中的函式渲染 templates 中的 Html 模板,得到動態內容的網頁,當然可以用快取來提高速度。這麼好的東西,不用確實可惜!

admin.py

後臺,這個就是可以用很少程式碼就能實現後臺管理的神奇東東

settings.py

Django 的設定,配置檔案,比如 DEBUG 的開關,靜態檔案的位置等。

結語

總之,Django的功能很強大,包括DRF等一些框架,要學的還有很多,一起加油哇。。。

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 【值得收藏】首次披露Facebook移動端軟體的持續部署 | IDCF