Django軟件開發(fā)框架簡介發(fā)表時間:2019-12-21 11:07作者:賈賀祥 在洛陽市自然資源局市級調(diào)查成果分析與共享平臺開發(fā)中,使用了Django作為本平臺的開發(fā)框架,現(xiàn)將本框架做一簡要介紹,為公司web開發(fā)提供一種思路和選擇。 1 簡介 Django是高水準(zhǔn)的Python編程語言驅(qū)動的一個開源模型.視圖,控制器風(fēng)格的Web應(yīng)用程序框架,它起源于開源社區(qū)。使用這種架構(gòu),程序員可以方便、快捷地創(chuàng)建高品質(zhì)、易維護、數(shù)據(jù)庫驅(qū)動的應(yīng)用程序。這也正是OpenStack的Horizon組件采用這種架構(gòu)進行設(shè)計的主要原因。另外,在Django框架中,還包含許多功能強大的第三方插件,使得Django具有較強的可擴展性。Django 項目源自一個在線新聞 Web 站點,于 2005 年以開源的形式被釋放出來。Django 框架的核心組件有: (1)用于創(chuàng)建模型的對象關(guān)系映射; (2)為最終用戶設(shè)計較好的管理界面; (3)URL 設(shè)計; (4)設(shè)計者友好的模板語言; (5)緩存系統(tǒng)。 2 架構(gòu) Django已經(jīng)成為web開發(fā)者的首選框架,是一個遵循 MVC 設(shè)計模式的框架。MVC是Model、View、Controller三個單詞的簡寫,分別代表模型、視圖、控制器。Django其實也是一個MTV 的設(shè)計模式。MTV是Model、Template、View三個單詞的簡寫,分別代表模型、模版、視圖 [3] 。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關(guān)注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式。它們各自的職責(zé)如下:
從以上表述可以看出Django視圖不處理用戶輸入,而僅僅決定要展現(xiàn)哪些數(shù)據(jù)給用戶,而Django 模板 僅僅決定如何展現(xiàn)Django視圖指定的數(shù)據(jù)?;蛘哒f, Django將MVC中的視圖進一步分解為 Django視圖 和 Django模板兩個部分,分別決定 “展現(xiàn)哪些數(shù)據(jù)” 和 “如何展現(xiàn)”,使得Django的模板可以根據(jù)需要隨時替換,而不僅僅限制于內(nèi)置的模板。 至于MVC控制器部分,由Django框架的URLconf來實現(xiàn)。URLconf機制是使用正則表達式匹配URL,然后調(diào)用合適的Python函數(shù)。URLconf對于URL的規(guī)則沒有任何限制,你完全可以設(shè)計成任意的URL風(fēng)格,不管是傳統(tǒng)的,RESTful的,或者是另類的。框架把控制層給封裝了,無非與數(shù)據(jù)交互這層都是數(shù)據(jù)庫表的讀,寫,刪除,更新的操作。在寫程序的時候,只要調(diào)用相應(yīng)的方法就行了,感覺很方便。程序員把控制層?xùn)|西交給Django自動完成了。 只需要編寫非常少的代碼完成很多的事情。所以,它比MVC框架考慮的問題要深一步,因為我們程序員大都在寫控制層的程序。這個工作交給了框架,僅需寫很少的調(diào)用代碼,大大提高了工作效率。 3應(yīng)用 洛陽市自然資源局市級調(diào)查成果分析與共享平臺使用了Django作為本平臺的開發(fā)框架,本平臺的模塊如下所示: 在Django中一個項目有很多個應(yīng)用組成,每一個應(yīng)用完成一個功能模塊,在開發(fā)中對所有功能模塊建立一個應(yīng)用。本項目的具體開發(fā)框架如下:
|