Django基礎(1 架構流程與目錄)

2021-08-28 03:30:57 字數 2942 閱讀 8294

django 是 python 做 web 開發的乙個很著名的框架,很多大型**(比如豆瓣、youtube)都用它開發,下面就來介紹一下 django 的架構原理

1. mvt設計模式m(models):資料模型,直接對映到資料庫

v(views):功能檢視,編寫你的業務功能

t(templates):頁面模板,就是顯示在瀏覽器的 html 檔案

2. 架構流程圖

流程說明:

①:客戶端輸入 url ,向伺服器傳送乙個 http 請求

②:wsgi 是乙個能響應請求的介面部件,初學可以不管它,它把 url 傳給 urls 路由

③:urls 根據收到的 url,呼叫對應繫結的 views, 所以 urls 相當於導航

④:views 是業務功能模組,它先從 models 模組拿需要的資料

model 是資料模型模組,它通過 orm 技術實現從類到資料庫的對映,這樣我們就可以不關心資料庫而只對類進行修改

⑤:views 從templates 拿需要的頁面模板

⑥:views 根據 models 和 templates 的資料,實現自己的功能後把 httpresponse 傳送給負責響應的 wsgi

不難看出,views 是整個框架的核心,它不僅關聯了 models、templates,還實現了業務功能

⑦:wsgi 把響應的內容發給客戶端(瀏覽器),使用者就能看到想要的網頁了

學習方法強烈推薦官網教程

django 官方教程錯誤

在使用通用檢視後,index.html 內容應如下:

}

#}

1. 環境準備anaconda3、 乙個虛擬環境、用命令 conda install django 安裝 django

2. 建立專案

(1) 命令:django-admin startproject mysite (mysite 是自己命名的專案名稱)

(2)目錄檔案:

mysite/        :根目錄只是你專案的容器

manage.py :乙個讓你用各種方式管理 django 專案的命令列工具

mysite/ :包含你的專案檔案的純 python 包,裡面的檔案重要

__init__.py :乙個空檔案,僅僅告訴 python 這個目錄是乙個 python 包而已

wsgi.py :專案的執行在 wsgi 相容的web伺服器上的入口,先不管它

3. 建立應用(1)專案和應用的區別:

應用是乙個專門做某件事的網路應用程式——比如部落格系統,或者公共記錄的資料庫,或者簡單的投票程式。專案則是乙個**使用的配置和應用的集合

(2)在 manage.py 同級目錄下建立 (也就是跟第二個 mysite 同級,就在第乙個 mysite 之下)

(4)目錄檔案:         

__init__.py :初始化檔案,乙個空檔案,僅僅告訴 python 這個目錄是乙個 python 包而已

migrations/ :資料庫的遷移記錄檔案的目錄,裡面有自動生成的遷移記錄

__init__.py :初始化檔案,空檔案,作用同上面的初始化檔案一樣

models.py :資料模型檔案,在這兒按規定格式用類來定義你的資料模型,直接對映到資料庫

tests.py :測試檔案,裡面存放測試用例,測試用例不會改變資料庫和其他模組

views.py :視**件,裡面編寫業務功能,關聯 models、templates,返回結果

1. 建立資料模型 (models)資料模型通過 orm 技術對映到資料庫,這樣就可以直接操作模型,而不需要關心資料庫

過程中自動生成對應的資料庫操作語句,但需要了解資料庫 api 的使用方法

2. 建立管理員 (admin)

admin 是管理員站點,這樣就可以直接管理資料而不用去資料庫修改

過程中自動生成管理員介面和對資料庫的操作方法

3.  規劃路由 (urls)

url 是路由目錄,目錄分為總目錄和分目錄:

(1)project/urls 是總目錄,也是 url 的入口,負責把 url 導流到分目錄

(3)如果匹配不到 url ,django 會自動呼叫 404 檢視

4. 編寫檢視 (views)

檢視是 django 的功能模組,主要任務有:

(1)從對應的 urls 接收引數

(2)從模型(models)匯入資料

(3)從模板(templates)繫結模板

(4)根據需要,利用引數、模型、模板編寫功能**

(5)在頁面返回 httpresponse 物件或者 http404 異常 

ps:開發過程中,能使用通用檢視的,優先使用通用檢視

5. 設計模板 (templates)

(1) 模板就是 html 頁面

(2)注意模板語言寫法:

變數:'}'  包裹

語句:''  包裹,成對出現,表示到哪兒結束

屬性:' . '  獲取,eg:}

過濾變數值:用 '|' 進行管道過濾,eg:}

模板繼承:格式:''

這樣對 django 的架構、原理、流程和目錄就了解得差不多了,後面我們就根據流程來做個最簡單的專案

springmvc(1)架構執行流程

第一步 發起請求到前端控制器 dispatcherservlet 第二步 前端控制器請求處理器對映器 handlermaping 查詢處理器 handler 可以根據xml配置 註解進行查詢 第三步 處理器對映器向前端控制器返回處理器 第四步 前端控制器呼叫處理器介面卡 handleradapter...

1 架構的開悟

軟體架構 有關軟體整體結構與元件的抽象描述,用於指導大型軟體系統各個方面的設計。通常說架構是一種能力,架構角色則是要求你在具體事務中行使某些行為,而架構師則是用來標識這些能力與行為的乙個職務。通常我們大多數人都具有架構的能力,並且也或多或少地行使架構師可能會有的行為,但是可能還沒有 架構師 這個頭銜...

1 架構的概念

涉及到的內容包括 系統與子系統 模組與元件 框架與架構 系統與子系統 系統泛指由一群有關聯的個體組成,根據某種規則運作,能完成個別元件不能單獨完成的工作的群體。它的意思是 總體 整體 或 聯盟 子系統也是由一群有關聯的個體所組成的系統,多半會是更大系統中的一部分。模組與元件 從邏輯的角度來拆分系統後...