五分鐘帶你瞭解Django框架設計思想!
Python程式語言的持續火爆,在最新Tiobe程式語言排行榜中位列第五,熱度持續增加,尤其是在 AI 和 大資料時代,Python是 AI 和大資料時代的第一開發語言。這已經是一個不爭的事實了,唯一的懸念就是誰能坐上第二把交椅了。
Python是膠水語言,應用及其廣泛。在web應用領域,國內知名互聯公司:有號稱文藝青年的聖地--豆瓣評分,曾經主打高階問答知識社群的--知乎,唯有愛和美食不可辜負的--下廚房……
談到在web應用領域,除了Python的語法,Django是Python後臺一個最重要的框架。今天小千和大家簡單的聊一下Django框架。
問題1:什麼是軟體框架?
舉個簡單的例子,對於一個公司來說,公司中有各個職能部門,每個部門各司其職,透過部門之間的配合來完成工作,這些部門就形成了一個公司的組織架構。從某種意義上來說,公司就是一種框架。那麼對應到軟體設計上來說,軟體框架是由其中的各個模組組成的,每個模組負責特定的功能,模組與模組之間相互協作來完成軟體開發。
一個公司,它是針對某一市場而成立的,而軟體框架的設計,也是針對某一類軟體問題而設計的,其目的主要是提高軟體開發效率。
問題2:Django的簡介和設計思想?
Django是用python語言寫的開源web開發框架,並遵循MVC設計。勞倫斯出版集團為了開發以新聞內容為主的網站,而開發出來了這個框架,於2005年7月在BSD許可證下發布。Django的主要目的是簡便、快速的開發資料庫驅動的網站。它強調程式碼複用,多個元件可以很方便的以“外掛”形式服務於整個框架,Django有許多功能強大的第三方外掛,你甚至可以很方便的開發出自己的工具包。這使得Django具有很強的可擴充套件性。它還強調快速開發原則。
問題3:MVC簡介
MVC的全拼為Model-View-Controller,最早在20世紀80年代為程式語言Smalltalk發明的一種軟體設計模式,是為了將傳統的輸入(input)、處理(processing)、輸出(output)任務運用到圖形化使用者互動模型中而設計的。
現MVC是一種架構設計模式,是一種設計理念。是為了達到分層設計的目的,從而使程式碼解耦,便於維護和程式碼的複用。MVC是3個單詞的縮寫,全稱:Model-View-Controller(模型-檢視-控制器)。MVC就是提供一種規則,讓你把相同型別的程式碼放在一起,這樣就形成了層次,從而達到分層解耦、複用、便於測試和維護的目的。
當前主流的開發語言如Java、PHP、Python中都有MVC框架。
Web MVC各部分的功能
M全拼為Model,主要封裝對資料庫層的訪問,對資料庫中的資料進行增、刪、改、查操作。
V全拼為View,用於封裝結果,生成頁面展示的html內容。
C全拼為Controller,用於接收請求,處理業務邏輯,與Model和View互動,返回結果
問題4:Django框架遵循MVC設計,並且有一個專有名詞:MVT
MVT各部分的功能
M全拼為Model,與MVC中的M功能相同,負責和資料庫互動,進行資料處理。
V全拼為View,與MVC中的C功能相同,接收請求,進行業務處理,返回應答。
T全拼為Template,與MVC中的V功能相同,負責封裝構造要返回的html。
希望以上的分享能幫到大家!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2776716/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 10分鐘帶你瞭解NLA
- 5分鐘帶你瞭解Linux awk命令!Linux
- 三分鐘,帶你瞭解SSL證書
- 好程式設計師Java學習路線帶你5分鐘瞭解希爾排序程式設計師Java排序
- DevOps是什麼?5分鐘帶你瞭解DevOpsdev
- 3分鐘帶你瞭解負載均衡服務負載
- 5分鐘帶你瞭解RabbitMQ的(普通/映象)叢集MQ
- 三分鐘帶你瞭解Steam的發展史
- 三分鐘,帶你瞭解EOS新資源模型模型
- 帶你瞭解IP地址的計算
- 帶你瞭解webpackWeb
- Django框架之中介軟體思想Django框架
- 一分鐘帶你瞭解Python私有變數的用法!Python變數
- 3分鐘帶你瞭解資料指標管理體系指標
- 10分鐘帶你瞭解 Linux 系統中的 Top 命令Linux
- 一分鐘帶你瞭解業界新品OCP網路卡
- 1分鐘帶你瞭解var let 和 const 的區別
- 5分鐘帶你瞭解Linux常用命令全稱Linux
- 10分鐘帶你瞭解Flex 佈局(圖文並茂)Flex
- 帶你快速瞭解HTMLHTML
- 一篇文章帶你瞭解設計模式——建立者模式設計模式
- 5分鐘帶你瞭解網路安全中間人攻擊!
- 十分鐘,帶你瞭解 Vue3 的新寫法Vue
- 大屏視覺化知多少?3分鐘帶你快速瞭解視覺化
- 三分鐘帶你入門瞭解openstack的Nova專案
- 三分鐘帶你入門瞭解openstack的cinder專案
- 三分鐘帶你入門瞭解openstack的keystone專案
- 三分鐘帶你入門瞭解openstack的glance專案
- 萬字長文帶你瞭解Java日誌框架使用Java日誌框架Java框架
- 遊戲技能該如何設計?這二篇乾貨帶你瞭解遊戲
- 一篇文章帶你瞭解設計模式——結構型模式設計模式
- 一文帶你瞭解微服務架構和設計(多圖)微服務架構
- 好程式設計師web前端帶你瞭解JS的作用域鏈程式設計師Web前端JS
- 程式設計師,谷歌帶來的這場變革,你瞭解嗎?程式設計師谷歌
- 你真的瞭解python嗎?這篇文章帶你快速瞭解!Python
- 一分鐘帶你瞭解如何防範0day攻擊!
- 【10分鐘帶你瞭解釋出訂閱和觀察者模式】模式
- 萬字帶你瞭解ChatGLM