django是乙個基於mvc構造的框架。但是在django中,控制器接受使用者輸入的部分由框架自行處理,所以 django 裡更關注的是模型(model)、模板(template)和檢視(views),稱為 mtv模式。它們各自的職責如下:
層次職責
模型(model),即資料訪問層
處理與資料相關的所有事務: 如何訪問、如何驗證有效性、包含哪些行為以及資料之間的關係等。
模板(template),即表現層
處理與表現相關的決定: 如何在頁面或其他型別文件中進行顯示。
檢視(view),即業務邏輯層
訪問模型及調取恰當模板的相關邏輯。模型與模板的橋梁。
從以上表述可以看出django 檢視不處理使用者輸入,而僅僅決定要展現哪些資料給使用者,而django 模板 僅僅決定如何展現django檢視指定的資料。
或者說, django將mvc中的檢視進一步分解為 django檢視 和 django模板兩個部分,分別決定 「展現哪些資料」 和 「如何展現」,使得django的模板可以根據需要隨時替換,而不僅僅限制於內建的模板。
至於mvc控制器部分,由django框架的urlconf來實現。urlconf機制是使用正規表示式匹配url,然後呼叫合適的python函式。
urlconf對於url的規則沒有任何限制,你完全可以設計成任意的url風格,不管是傳統的,restful的,或者是另類的。
框架把控制層給封裝了,無非與資料互動這層都是資料庫表的讀,寫,刪除,更新的操作。在寫程式的時候,只要呼叫相應的方法就行了,感覺很方便。
程式設計師把控制層東西交給django自動完成了。 只需要編寫非常少的**完成很多的事情。所以,它比mvc框架考慮的問題要深一步,因為我們程式設計師大都在寫控制層的程式。現在這個工作交給了框架,僅需寫很少的呼叫**,大大提高了工作效率。
hook筆記分享
見多了前端各種js的混淆,引數的加密,雖然抓包會拿到最後的結果,但是一步步分析是真的折磨人,像一些噁心的sojson混淆,可能會讓人看著各種引數而頭皮發麻。這裡分享一些常用的hook js的方法,與反爬一起進步!hook window物件的 pt 屬性的設定與取值 function set func...
PCIe學習筆記分享
本總結隨著dm8168中pcie的學習,以及pcie原理的學習而新增,都是一些零碎的知識點,有部分個人理解,將來溫故知新用。欠奉。pcie裝置需要使用refclk refclk作為本地參考時鐘,其時鐘頻率固定為100mhz,在dm8168系統中,需要提供兩個100mhz時鐘,乙個給dm8168用於檢...
nginx 筆記分享 1
nginx 優點太多了google會有一大堆 這裡就不羅嗦了,下面主要講的lnmp安裝整合等等,軟體都是目前比較新的穩定版本!整個安裝過程將整理成安裝指令碼。nginx 需要一些第三方庫的支援,比如gzip模組 需要zlib庫,還有我們最常用的rewrite模組需要pcre庫,根據需要需先安裝這些庫...