django的安裝和創(chuàng)建應用過程詳解
1.安裝Django
終端運行
pip install django

查看django是否安裝成功
python -m django --version

1.1 安裝虛擬環(huán)境
在控制臺運行
pip install virtualenv

1.1.2 創(chuàng)建虛擬環(huán)境
在特定文件夾內(nèi)打開終端運行
virtualenv -p D:\program_condition\python\python.exe env_dj virtualenv -p python解釋器所在位置 項目名稱

生成

1.2激活和退出虛擬環(huán)境
進入上圖的Scripts文件夾內(nèi),打開終端
activate # 激活

deactivate.bat # 退出

1.3 安裝和配置VSCode
- 先正常安裝VSCode
- 再安裝python插件
- 安裝Django插件,搜索django,安裝前兩個

2.關于Django
特點
- 功能完善,開發(fā)速度快,安全性強
- 有完善的在線文檔
- 模型自帶數(shù)據(jù)庫ORM組件
- 可以使用正則表達式管理路由映射,方便靈活
2.1 MVC和MTV模式
目前主流的web框架,基本上使用MVC模式開發(fā)web應用,最大優(yōu)勢在于可以降低系統(tǒng)各個模塊間的耦合度。
2.1.1 MVC軟件架構模式
該模式將Web應用開發(fā)分為三個層次:
- 模型(Model):負責處理各個功能的實現(xiàn)。
- 視圖(View):負責頁面的顯示和用戶的交互。包含由HTML,CSS, JS組成的各種頁面。
- 控制器(Controller):用于將用戶請求轉發(fā)給相應的模型進行處理,并根據(jù)模型的處理結果向用戶提供相應的響應。

具體應用的例子
Web應用程序:
- M(Model):業(yè)務邏輯,例如數(shù)據(jù)庫交互和數(shù)據(jù)處理等。
- V(View):用戶界面,例如HTML和CSS等。
- C(Controller):處理用戶請求和控制用戶界面,例如處理HTTP請求和調(diào)用模型邏輯等。
桌面應用程序:
- M(Model):文本編輯器的數(shù)據(jù)模型,例如保存文本數(shù)據(jù)等。
- V(View):用戶界面,例如文本編輯器的UI界面。
- C(Controller):處理用戶輸入和狀態(tài)管理,例如處理用戶的鼠標和鍵盤輸入、保存文件等。
2.1.2 MTV模式
Django對MVC模式進行修改,成為MTV模式。
- M:模型,負責業(yè)務對象和數(shù)據(jù)庫的關系映射(ORM)
- T:模板,負責頁面的顯示和用戶的交互
- V:視圖,負責業(yè)務邏輯,并在適當?shù)臅r候調(diào)用Model和Template
還包含了一個URL分發(fā)器,將一個個URL頁面請求分發(fā)給不同的View進行處理。view再調(diào)用相應的Model和Template。此時,URL分發(fā)器和View共同充當了控制器(Controller)。

在MTV模式下,urls.py 和 views.py 對應控制器,models.py對應模型Model,視圖view對應templates下的所有文件。
3.開發(fā)第一個Django應用
3.1 創(chuàng)建項目
在終端進入項目文件夾,激活虛擬環(huán)境,執(zhí)行
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包目錄3.2 創(chuàng)建應用
cd進入根目錄,創(chuàng)建一個名為myapp 的應用,命令如下:
python manage.py startapp myapp # myapp為應用名稱 可自定義
應用目錄結構:
myapp # 應用目錄,不能修改名稱
│ admin.py # 后臺管理使用
│ apps.py # 應用管理文件
│ models.py # 模型文件
│ tests.py # 測試用例
│ views.py # 視圖文件
│ __init__.py #
│
└─migrations # 該目錄包含了數(shù)據(jù)遷移文件,默認包含__init__.py
__init__.py # 一個空文件,告訴python該目錄應該被視為python包目錄創(chuàng)建應用后,需要在全局配置文件中手動注冊:打開 mydjango\settings.py 文件,找到INSTALLED_APPS 節(jié)點,添加應用名稱

3.3 處理控制器
控制器主要有視圖文件views.py和路由文件urls.py組成
- 視圖函數(shù),實現(xiàn)模板與模板之間的交互
- 處理請求主要也是由視圖函數(shù)完成
- 先處理視圖的動態(tài)邏輯 myapp/views.py
from django.shortcuts import render # 該方法的作用是將指定的模板進行渲染,并將渲染結果返回給客戶端 # Create your views here. from django.http import HttpResponse # 該類用于構造HTTP響應對象 from myapp import views # 導入視圖函數(shù) def index(request): # 視圖函數(shù)index,該函數(shù)接收一個request對象作為參數(shù),該對象包含了客戶端的請求信息 return render(request, '1/index.html') # 該行調(diào)用render方法,將index.html模板進行渲染,并將渲染結果返回給客戶端。在該方法中,第一個參數(shù)是request對象,第二個參數(shù)是要渲染的模板文件名
以上代碼的作用是定義一個視圖函數(shù),當客戶端訪問該視圖的時候,該視圖將渲染index.html模板文件,并將渲染結果返回給客戶端。
- 處理URL請求路徑mydjango\urls.py
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('index/', views.index),
]第四行的作用:定義了一個urlpatterns列表,該列表存儲了所有的URL路由映射關系,path()方法用于定義一個路由映射規(guī)則,該方法接收兩個參數(shù),第一個參數(shù)是路由路徑,第二個參數(shù)是視圖函數(shù)。該例子中,path('index/', views.index)表示當用戶訪問localhost:8000/index/路徑時,該請求將被路由到views.py文件中的index()函數(shù)進行處理。定義了一個URL路由,將localhost:8000/index/路徑映射到了views.py文件中的index()函數(shù)進行處理。
3.4 處理模板
默認沒有模板目錄,需要手動創(chuàng)建,還需設置全局配置文件。
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)建好模板目錄后,還不能直接使用,需要在全局文件中對模板目錄進行注冊。
3.4.2 配置全局設置文件settings.py
打開mydjango\setting.py 文件,找到TEMPLATES 選項,修改代碼
import os # 導入模塊 'DIRS': [os.path.join(BASE_DIR, 'templates')],

3.5 運行應用
在終端打開應用根目錄,運行
python manage.py runserver

瀏覽器地址輸入:127.0.0.1:8000 即可訪問
出現(xiàn)一個小插曲:輸入后初始頁面正常

但是訪問index頁面無法訪問,終端也沒報錯,停止運行后,才出現(xiàn)報錯提示

原來是url文件中沒有導入視圖函數(shù)
from myapp import views

成功!組合鍵 Ctrl + C 退出
到此這篇關于django的安裝和創(chuàng)建應用的文章就介紹到這了,更多相關django安裝創(chuàng)建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python 利用瀏覽器 Cookie 模擬登錄的用戶訪問知乎的方法
今天小編就為大家分享一篇python 利用瀏覽器 Cookie 模擬登錄的用戶訪問知乎的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python3使用Selenium獲取session和token方法詳解
這篇文章主要介紹了Python3使用Selenium獲取session和token方法詳解,需要的朋友可以參考下2021-02-02
tensorflow模型的save與restore,及checkpoint中讀取變量方式
這篇文章主要介紹了tensorflow模型的save與restore,及checkpoint中讀取變量方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05

