Python自動化運維入門必看系列之:Django架構介紹

「我」爲何須要學習Django呢?html

自動化運維簡單來看,就是用戶在前臺頁面輸入關鍵信息,後臺自動生成所須要的東西或者實現某個需求。最終目標是經過機器去「修理」機器,學習自動化運維到了必定的階段實際上是跟AI離不開的。如今不少的自動化運維基本上都停留在半自動化,等須要真正自動化運維的時候,系統將會愈來愈複雜,python


那良好的交互對於避免複雜是很是重要的。使用Django架站是一個不錯的選擇,等咱們學習Django以後,再修行ansible等自動化軟件,會有意外的驚喜喔!sql


下面我開始結合本身的學習筆記,跟你們分享Django架構的知識吧。(若有錯誤,請各位老鐵指出!)
數據庫

    

02django

Django架構介紹後端

Django架站有兩種架構,一是MVC架構,而是MTV架構。Django的MTV模式本質上與MVC模式沒有什麼差異,也是各組件之間爲了保持鬆耦合關係,只是定義上有些許不一樣.架構


Django MVC架構app

Model(模型)框架

包含系統中的數據內容,一般以數據庫的形式來存儲,若是數據有變更,則通知View實時改變現實的內容,還有一些處理數據的程序邏輯也在這裏。運維


View(視圖)

建立和用戶之間的界面,把用戶的請求傳給Controller,把按照Controller的要求把來自Model的數據顯示出來。


Controller(控制器)

接受外部用戶的操做,根據操做訪問模型獲取數據,並調用「視圖」顯示這些數據。控制器是將「模型」和「視圖」隔離,併成爲兩者之間的聯繫紐帶。


MVC是衆所周知的模式,即:將應用程序分解成三個組成部分:model(模型),view(視圖),和 controller(控制 器)。


Django MTV架構

Model(模型)

即數據存取層。 該層處理與數據相關的全部事務: 如何存取、如何驗證有效性、包含哪些行爲以及數據之間的關係等。


Template(模板)

即表現層。 該層處理與表現相關的決定: 如何在頁面或其餘類型文檔中進行顯示。


View(視圖)

即業務邏輯層。 該層包含存取模型及調取恰當模板的相關邏輯。 你能夠把它看做模型與模板之間的橋樑。


Django還有一個url分發器,它的做用是將一個個URL的頁面請求分發給不一樣的view處理,view再調用相應的Model和Template


03

Django特性

  1. 採用ORM方式存取數據庫的數據,數據庫抽象化,網站設計基本不須要使用SQL查詢語言。

  2. 往後如需更換數據庫,無須修改大量程序代碼。

  3. 用過MVC架構概念把視圖和控制邏輯分開,開發人員不用擔憂網站通訊協議的瑣碎細節,而是專心於創建網站的功能。  

  4. Python語言處理和運算、操做數據庫,讓網頁請求更加客戶化,實時響應。



ORM框架

      Django採用ORM方式存取數據庫的數據。Python程序中不使用SQL指令存取數據,而是以ORM方式存取數據庫的數據。        ORM(Object relational Mapper/Mapping),它是以重面向對象的程序設計技術映射後端數據庫。即對數據庫的操做方式抽象化爲統一用Python的數據操做方式,解決底層數據庫兼容性的問題。再簡單點說,只管Python的數據操做方式,不須要管底層數據庫是Oracle/Mysql/Redis等。


04

在Django MTV架構下的網站開發步驟

  1. 需求分析不可少。

  2. 數據庫設計。

  3. 瞭解網站的每個頁面,並設計網頁模板(.html)文件。

  4. 使用virtualenv建立並啓用虛擬機環境。

  5. 使用pip install 安裝django。

  6. 使用django-admin startproject 生成項目。

  7. 使用python manage.py startapp 建立app。

  8. 建立templates文件夾,並把全部網頁模板(.html)文件都放在此文件夾中。

  9. 建立static文件夾,並把全部靜態文件(圖像文件、CSS文件及.js等)都放在此文件夾中。

  10. 修改settings.py,把相關的文件夾加入,也把生成的app名稱加入INSTALLED_APPS序列中。

  11. 編輯models.py,建立數據庫表格。

  12. 編輯views.py,先import在models.py中建立的數據模型。

  13. 編輯admin.py,把models.py中定義的數據模型加入,並使用admin.site.register註冊新增的類,讓admin界面能夠處理數據庫內容。

  14. 編輯urls.py,先import在views.py中定義的模塊。

  15. 編輯urls.py,建立網站和views.py中定義的模塊的對應關係。

  16. 執行python manage.py makemigrations。

  17. 執行python manage.py migrate。

  18. 執行python manage.py runserver測試網站。

相關文章
相關標籤/搜索