django的安裝和創(chuàng)建應(yīng)用過程詳解
1.安裝Django
終端運(yùn)行
pip install django
查看django是否安裝成功
python -m django --version
1.1 安裝虛擬環(huán)境
在控制臺運(yùn)行
pip install virtualenv
1.1.2 創(chuàng)建虛擬環(huán)境
在特定文件夾內(nèi)打開終端運(yùn)行
virtualenv -p D:\program_condition\python\python.exe env_dj virtualenv -p python解釋器所在位置 項(xiàng)目名稱
生成
1.2激活和退出虛擬環(huán)境
進(jìn)入上圖的Scripts文件夾內(nèi),打開終端
activate # 激活
deactivate.bat # 退出
1.3 安裝和配置VSCode
- 先正常安裝VSCode
- 再安裝python插件
- 安裝Django插件,搜索django,安裝前兩個
2.關(guān)于Django
特點(diǎn)
- 功能完善,開發(fā)速度快,安全性強(qiáng)
- 有完善的在線文檔
- 模型自帶數(shù)據(jù)庫ORM組件
- 可以使用正則表達(dá)式管理路由映射,方便靈活
2.1 MVC和MTV模式
目前主流的web框架,基本上使用MVC模式開發(fā)web應(yīng)用,最大優(yōu)勢在于可以降低系統(tǒng)各個模塊間的耦合度。
2.1.1 MVC軟件架構(gòu)模式
該模式將Web應(yīng)用開發(fā)分為三個層次:
- 模型(Model):負(fù)責(zé)處理各個功能的實(shí)現(xiàn)。
- 視圖(View):負(fù)責(zé)頁面的顯示和用戶的交互。包含由HTML,CSS, JS組成的各種頁面。
- 控制器(Controller):用于將用戶請求轉(zhuǎn)發(fā)給相應(yīng)的模型進(jìn)行處理,并根據(jù)模型的處理結(jié)果向用戶提供相應(yīng)的響應(yīng)。
具體應(yīng)用的例子
Web應(yīng)用程序:
- M(Model):業(yè)務(wù)邏輯,例如數(shù)據(jù)庫交互和數(shù)據(jù)處理等。
- V(View):用戶界面,例如HTML和CSS等。
- C(Controller):處理用戶請求和控制用戶界面,例如處理HTTP請求和調(diào)用模型邏輯等。
桌面應(yīng)用程序:
- M(Model):文本編輯器的數(shù)據(jù)模型,例如保存文本數(shù)據(jù)等。
- V(View):用戶界面,例如文本編輯器的UI界面。
- C(Controller):處理用戶輸入和狀態(tài)管理,例如處理用戶的鼠標(biāo)和鍵盤輸入、保存文件等。
2.1.2 MTV模式
Django對MVC模式進(jìn)行修改,成為MTV模式。
- M:模型,負(fù)責(zé)業(yè)務(wù)對象和數(shù)據(jù)庫的關(guān)系映射(ORM)
- T:模板,負(fù)責(zé)頁面的顯示和用戶的交互
- V:視圖,負(fù)責(zé)業(yè)務(wù)邏輯,并在適當(dāng)?shù)臅r候調(diào)用Model和Template
還包含了一個URL分發(fā)器,將一個個URL頁面請求分發(fā)給不同的View進(jìn)行處理。view再調(diào)用相應(yīng)的Model和Template。此時,URL分發(fā)器和View共同充當(dāng)了控制器(Controller)。
在MTV模式下,urls.py
和 views.py
對應(yīng)控制器,models.py
對應(yīng)模型Model,視圖view對應(yīng)templates下的所有文件。
3.開發(fā)第一個Django應(yīng)用
3.1 創(chuàng)建項(xiàng)目
在終端進(jìn)入項(xiàng)目文件夾,激活虛擬環(huán)境,執(zhí)行
django-admin startproject mydjango # mydjango為自定義名稱
生成mydjango項(xiàng)目,目錄:
mydjango # 根目錄 可以任意命名 │ manage.py # 一個命令行使用程序,命令行方式與Django項(xiàng)目交互 └─mydjango # 項(xiàng)目目錄。這個名稱不能修改 asgi.py # 與ASGI兼容的Web服務(wù)器,為項(xiàng)目提供服務(wù)的入口 settings.py # 該項(xiàng)目的全局配置文件 urls.py # 該項(xiàng)目的路由配置文件 wsgi.py # 兼容WSGI的Web服務(wù)器,為你的項(xiàng)目提供服務(wù)的入口 __init__.py # 空文件,告訴python該目錄應(yīng)該被視為python包目錄
3.2 創(chuàng)建應(yīng)用
cd進(jìn)入根目錄,創(chuàng)建一個名為myapp
的應(yīng)用,命令如下:
python manage.py startapp myapp # myapp為應(yīng)用名稱 可自定義
應(yīng)用目錄結(jié)構(gòu):
myapp # 應(yīng)用目錄,不能修改名稱 │ admin.py # 后臺管理使用 │ apps.py # 應(yīng)用管理文件 │ models.py # 模型文件 │ tests.py # 測試用例 │ views.py # 視圖文件 │ __init__.py # │ └─migrations # 該目錄包含了數(shù)據(jù)遷移文件,默認(rèn)包含__init__.py __init__.py # 一個空文件,告訴python該目錄應(yīng)該被視為python包目錄
創(chuàng)建應(yīng)用后,需要在全局配置文件中手動注冊:打開 mydjango\settings.py
文件,找到INSTALLED_APPS
節(jié)點(diǎn),添加應(yīng)用名稱
3.3 處理控制器
控制器主要有視圖文件views.py和路由文件urls.py組成
- 視圖函數(shù),實(shí)現(xiàn)模板與模板之間的交互
- 處理請求主要也是由視圖函數(shù)完成
- 先處理視圖的動態(tài)邏輯 myapp/views.py
from django.shortcuts import render # 該方法的作用是將指定的模板進(jìn)行渲染,并將渲染結(jié)果返回給客戶端 # Create your views here. from django.http import HttpResponse # 該類用于構(gòu)造HTTP響應(yīng)對象 from myapp import views # 導(dǎo)入視圖函數(shù) def index(request): # 視圖函數(shù)index,該函數(shù)接收一個request對象作為參數(shù),該對象包含了客戶端的請求信息 return render(request, '1/index.html') # 該行調(diào)用render方法,將index.html模板進(jìn)行渲染,并將渲染結(jié)果返回給客戶端。在該方法中,第一個參數(shù)是request對象,第二個參數(shù)是要渲染的模板文件名
以上代碼的作用是定義一個視圖函數(shù),當(dāng)客戶端訪問該視圖的時候,該視圖將渲染index.html
模板文件,并將渲染結(jié)果返回給客戶端。
- 處理URL請求路徑mydjango\urls.py
from django.contrib import admin from django.urls import path urlpatterns = [ path('index/', views.index), ]
第四行的作用:定義了一個urlpatterns
列表,該列表存儲了所有的URL路由映射關(guān)系,path()
方法用于定義一個路由映射規(guī)則,該方法接收兩個參數(shù),第一個參數(shù)是路由路徑,第二個參數(shù)是視圖函數(shù)。該例子中,path('index/', views.index)
表示當(dāng)用戶訪問localhost:8000/index/
路徑時,該請求將被路由到views.py
文件中的index()
函數(shù)進(jìn)行處理。定義了一個URL路由,將localhost:8000/index/
路徑映射到了views.py
文件中的index()
函數(shù)進(jìn)行處理。
3.4 處理模板
默認(rèn)沒有模板目錄,需要手動創(chuàng)建,還需設(shè)置全局配置文件。
3.4.1 創(chuàng)建模板目錄和模板文件
在manage.py的同級目錄中創(chuàng)建templates目錄。
在templates目錄下創(chuàng)建一個 1
目錄,用來保存本章的模板文件;在1
目錄下新建一個index.html文件,在文件中添加
<div style = "color : red; font-size : 24px;"> 你好 Django! </div>
創(chuàng)建好模板目錄后,還不能直接使用,需要在全局文件中對模板目錄進(jìn)行注冊。
3.4.2 配置全局設(shè)置文件settings.py
打開mydjango\setting.py
文件,找到TEMPLATES
選項(xiàng),修改代碼
import os # 導(dǎo)入模塊 'DIRS': [os.path.join(BASE_DIR, 'templates')],
3.5 運(yùn)行應(yīng)用
在終端打開應(yīng)用根目錄,運(yùn)行
python manage.py runserver
瀏覽器地址輸入:127.0.0.1:8000
即可訪問
出現(xiàn)一個小插曲:輸入后初始頁面正常
但是訪問index頁面無法訪問,終端也沒報錯,停止運(yùn)行后,才出現(xiàn)報錯提示
原來是url文件中沒有導(dǎo)入視圖函數(shù)
from myapp import views
成功!組合鍵 Ctrl + C 退出
到此這篇關(guān)于django的安裝和創(chuàng)建應(yīng)用的文章就介紹到這了,更多相關(guān)django安裝創(chuàng)建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 利用瀏覽器 Cookie 模擬登錄的用戶訪問知乎的方法
今天小編就為大家分享一篇python 利用瀏覽器 Cookie 模擬登錄的用戶訪問知乎的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python3使用Selenium獲取session和token方法詳解
這篇文章主要介紹了Python3使用Selenium獲取session和token方法詳解,需要的朋友可以參考下2021-02-02tensorflow模型的save與restore,及checkpoint中讀取變量方式
這篇文章主要介紹了tensorflow模型的save與restore,及checkpoint中讀取變量方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05