02 Django基本流程

2021-10-10 21:04:54 字數 3105 閱讀 6175

django是用python開發的乙個免費開源的web框架,可以用於快速搭建高效能,優雅的**!

初次發布於2023年7月,並於2023年發布了第乙個正式版本1.0。

官方文件:

mvc是一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織**,將業務邏輯聚集到乙個部件中,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。mvc被獨特的發展起來用於對映傳統的輸入、處理和輸出功能在乙個邏輯的圖形化使用者介面的結構中。

mvc

- model(模型)

應用程式中用於處理應用程式資料邏輯部分;

通常模型物件負責在資料庫中訪問資料;

- view(檢視)

應用程式中處理資料顯示部分;

通常檢視是依據模型資料建立的;

- controller(控制器)

應用程式中處理使用者互動部分;

通常控制器負責從檢視中讀取資料,控制使用者輸入,並向模型傳送資料;

優點: 降低各個功能模組之間的耦合性,方便變更,更容易重構**,最大程度上實現**的重用。

本質上mtv與mvc模式沒有什麼區別,也是各元件之間為了保持松耦合關係,只是定義上有些不同。

mtv

- model(模型)

負責業務物件與資料庫物件(orm)

- template(模板)

負責如何把頁面展示給使用者

- view(檢視)

負責業務邏輯,並在適當的時候呼叫model和template

django還有乙個url分發器,它的作用是將乙個個url的頁面請求分發給不同的view處理,view再呼叫相應的model和template。

- 新建django專案:

$ django-admin startproject projectname

- 目錄層級說明:

manage.py 乙個命令列工具,可以使我們多種方式對django專案進行互動

projectname/__init__.py 乙個空檔案,告訴python這個目錄被看做乙個python包(有這個能稱之為包)

projectname/settings.py 專案的配置檔案

projectname/urls.py 專案url宣告(路由器)

projectname/wsgi.py 專案與wsgi相容的web伺服器入口(閘道器介面,通常用在現在線環境部署)

- 專案的執行:

$ python manage.py runserver

$ python manage.py runserver 0.0.0.0:8000

$ python manage.py runserver 0:8000 # 0.0.0.0簡寫方式

- settings.py專案配置檔案

base_dir 專案根目錄

secret_key 秘鑰

debug 除錯的開啟

allowed_hosts 允許訪問的主機

middleware 中介軟體

root_urlconf 站點url配置

templates 模板

databases 資料庫

auth_password_validators 密碼驗證規則

language_code 語言(中文: zh-hans)

time_zone 時區 (中國時區: asia/shanghai)

- 站點管理的漢化版(在settings.py中替換以下內容即可)

language_code = 'en-us' 替換 language_code = 'zh-hans'

time_zone = 'utc' 替換 time_zone = 'asia/shanghai'

備註: linux或mac下,直接在終端中操作;而在windows中在cmd中操作(開始 -> 搜尋cmd)

linux中輸入tree可以看到具體的目錄結構(樹狀)

要先進入專案目錄下,cd projectname然後執行下面的命令:

專案檔案說明:

admin.py 站點配置

models.py 模型

views.py 檢視

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

]

請求流程: 使用者請求 -> urls -> views -> templates -> 使用者響應 【從後往前寫】

- 方式一

- 方式二

def hello(request):

# hello.html模板

return render(request, 'hello.html')

語法:

python manage.py runserver ip:port

例如: python manage.py runserver

備註: ip可以不寫,代表即是本機ip

埠號預設是8000

啟動成功後,在瀏覽器可以看到」it worked!」

說明: 這是乙個純python寫的輕量級web伺服器,僅僅在開發測試階段中使用

02 Django專案建立

第一 django專案建立 django admin startproject 專案名 注意如果使用虛擬環境,建立應用必須先進入虛擬環境 進入專案目錄,tree看專案結構 此時提示tree commang not found,進行安裝 brew install tree init.py 說明djan...

02 Django環境搭建

因為是初學django我選擇的版本是django 1.11.x 支援 python 2.7,3.4,3.5 和 3.6,17年4月4號 已經發布 長期支援版本 lts 更詳細的可以參考這裡 以win為例,利用pip安裝django pip install django import django d...

Django 基本流程

在migrations目錄下生成遷移檔案,此時還沒有生成資料庫表 python manage.py runserver ip port ip不寫的話預設本機ip 埠port預設8000 這是乙個純python寫的輕量級web伺服器,僅在開發測試中使用 在django中檢視對web請求作出回應。檢視是...