終端執行
pip install django
檢視django是否安裝成功
python -m django --version
在控制檯執行
pip install virtualenv
在特定資料夾內開啟終端執行
virtualenv -p D:\program_condition\python\python.exe env_dj
virtualenv -p python直譯器所在位置 專案名稱
生成
進入上圖的Scripts資料夾內,開啟終端
activate # 啟用
deactivate.bat # 退出
先正常安裝VSCode
再安裝python外掛
安裝Django外掛,搜尋django,安裝前兩個
特點
目前主流的web框架,基本上使用MVC模式開發web應用,最大優勢在於可以降低系統各個模組間的耦合度。
該模式將Web應用開發分為三個層次:
具體應用的例子
Web應用程式:
桌面應用程式:
Django對MVC模式進行修改,成為MTV模式。
還包含了一個URL分發器,將一個個URL頁面請求分發給不同的View進行處理。view再呼叫相應的Model和Template。此時,URL分發器和View共同充當了控制器(Controller)。
在MTV模式下,urls.py
和 views.py
對應控制器,models.py
對應模型Model,檢視view對應templates下的所有檔案。
在終端進入專案資料夾,啟用虛擬環境,執行
django-admin startproject mydjango # mydjango為自定義名稱
生成mydjango專案,目錄:
mydjango # 根目錄 可以任意命名
│ manage.py # 一個命令列使用程式,命令列方式與Django專案互動
└─mydjango # 專案目錄。這個名稱不能修改
asgi.py # 與ASGI相容的Web伺服器,為專案提供服務的入口
settings.py # 該專案的全域性組態檔
urls.py # 該專案的路由組態檔
wsgi.py # 相容WSGI的Web伺服器,為你的專案提供服務的入口
__init__.py # 空檔案,告訴python該目錄應該被視為python包目錄
cd進入根目錄,建立一個名為myapp
的應用,命令如下:
python manage.py startapp myapp # myapp為應用名稱 可自定義
應用目錄結構:
myapp # 應用目錄,不能修改名稱
│ admin.py # 後臺管理使用
│ apps.py # 應用管理檔案
│ models.py # 模型檔案
│ tests.py # 測試用例
│ views.py # 檢視檔案
│ __init__.py #
│
└─migrations # 該目錄包含了資料遷移檔案,預設包含__init__.py
__init__.py # 一個空檔案,告訴python該目錄應該被視為python包目錄
建立應用後,需要在全域性組態檔中手動註冊:開啟 mydjango\settings.py
檔案,找到INSTALLED_APPS
節點,新增應用名稱
控制器主要有檢視檔案views.py和路由檔案urls.py組成
from django.shortcuts import render # 該方法的作用是將指定的模板進行渲染,並將渲染結果返回給使用者端
# Create your views here.
from django.http import HttpResponse # 該類用於構造HTTP響應物件
from myapp import views # 匯入檢視函數
def index(request): # 檢視函數index,該函數接收一個request物件作為引數,該物件包含了使用者端的請求資訊
return render(request, '1/index.html') # 該行呼叫render方法,將index.html模板進行渲染,並將渲染結果返回給使用者端。在該方法中,第一個引數是request物件,第二個引數是要渲染的模板檔名
以上程式碼的作用是定義一個檢視函數,當用戶端存取該檢視的時候,該檢視將渲染index.html
模板檔案,並將渲染結果返回給使用者端。
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('index/', views.index),
]
第四行的作用:定義了一個urlpatterns
列表,該列表儲存了所有的URL路由對映關係,path()
方法用於定義一個路由對映規則,該方法接收兩個引數,第一個引數是路由路徑,第二個引數是檢視函數。該例子中,path('index/', views.index)
表示當用戶存取localhost:8000/index/
路徑時,該請求將被路由到views.py
檔案中的index()
函數進行處理。定義了一個URL路由,將localhost:8000/index/
路徑對映到了views.py
檔案中的index()
函數進行處理。
預設沒有模板目錄,需要手動建立,還需設定全域性組態檔。
在manage.py的同級目錄中建立templates目錄。
在templates目錄下建立一個 1
目錄,用來儲存本章的模板檔案;在1
目錄下新建一個index.html檔案,在檔案中新增
<div style = "color : red; font-size : 24px;">
你好 Django!
</div>
建立好模板目錄後,還不能直接使用,需要在全域性檔案中對模板目錄進行註冊。
開啟mydjango\setting.py
檔案,找到TEMPLATES
選項,修改程式碼
import os # 匯入模組
'DIRS': [os.path.join(BASE_DIR, 'templates')],
在終端開啟應用根目錄,執行
python manage.py runserver
瀏覽器地址輸入:127.0.0.1:8000
即可存取
出現一個小插曲:輸入後初始頁面正常
但是存取index頁面無法存取,終端也沒報錯,停止執行後,才出現報錯提示
原來是url檔案中沒有匯入檢視函數
from myapp import views
成功!
組合鍵 Ctrl + C 退出