Python是膠水語言,應用及其廣泛。在web應用領(lǐng)域,國內(nèi)互聯(lián)公司:有號稱文藝青年的圣地--豆瓣評分,曾經(jīng)主打高端問答知識社區(qū)的--知乎,唯有愛和美食不可辜負的--下廚房……
談到在web應用領(lǐng)域,除了Python的語法,Django是Python后臺一個重要的框架。今天千鋒教育的講師和大家簡單的聊一下Django框架。
問題1:什么是軟件框架?
舉個簡單的例子,對于一個公司來說,公司中有各個職能部門,每個部門各司其職,通過部門之間的配合來完成工作,這些部門就形成了一個公司的組織架構(gòu)。從某種意義上來說,公司就是一種框架。那么對應到軟件設(shè)計上來說,軟件框架是由其中的各個模塊組成的,每個模塊負責特定的功能,模塊與模塊之間相互協(xié)作來完成軟件開發(fā)。
一個公司,它是針對某一市場而成立的,而軟件框架的設(shè)計,也是針對某一類軟件問題而設(shè)計的,其目的主要是提高軟件開發(fā)效率。
問題2:Django的簡介和設(shè)計思想?
Django是用python語言寫的開源web開發(fā)框架,并遵循MVC設(shè)計。勞倫斯出版集團為了開發(fā)以新聞內(nèi)容為主的網(wǎng)站,而開發(fā)出來了這個框架,于2005年7月在BSD許可證下發(fā)布。Django的主要目的是簡便、快速的開發(fā)數(shù)據(jù)庫驅(qū)動的網(wǎng)站。它強調(diào)代碼復用,多個組件可以很方便的以“插件”形式服務于整個框架,Django有許多功能強大的第三方插件,你甚至可以很方便的開發(fā)出自己的工具包。這使得Django具有很強的可擴展性。它還強調(diào)快速開發(fā)原則。
問題3:MVC簡介
MVC的全拼為Model-View-Controller,早在20世紀80年代為程序語言Smalltalk發(fā)明的一種軟件設(shè)計模式,是為了將傳統(tǒng)的輸入(input)、處理(processing)、輸出(output)任務運用到圖形化用戶交互模型中而設(shè)計的。
現(xiàn)MVC是一種架構(gòu)設(shè)計模式,是一種設(shè)計理念。是為了達到分層設(shè)計的目的,從而使代碼解耦,便于維護和代碼的復用。MVC是3個單詞的縮寫,全稱:Model-View-Controller(模型-視圖-控制器)。MVC就是提供一種規(guī)則,讓你把相同類型的代碼放在一起,這樣就形成了層次,從而達到分層解耦、復用、便于測試和維護的目的。
當前主流的開發(fā)語言如Java、PHP、Python中都有MVC框架。
Web MVC各部分的功能
M全拼為Model,主要封裝對數(shù)據(jù)庫層的訪問,對數(shù)據(jù)庫中的數(shù)據(jù)進行增、刪、改、查操作。
V全拼為View,用于封裝結(jié)果,生成頁面展示的html內(nèi)容。
C全拼為Controller,用于接收請求,處理業(yè)務邏輯,與Model和View交互,返回結(jié)果
問題4:Django框架遵循MVC設(shè)計,并且有一個專有名詞:MVT
MVT各部分的功能
M全拼為Model,與MVC中的M功能相同,負責和數(shù)據(jù)庫交互,進行數(shù)據(jù)處理。
V全拼為View,與MVC中的C功能相同,接收請求,進行業(yè)務處理,返回應答。
T全拼為Template,與MVC中的V功能相同,負責封裝構(gòu)造要返回的html。