最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django的安裝和創(chuàng)建應(yīng)用過程詳解

 更新時(shí)間:2023年07月22日 08:47:54   作者:清澈的澈  
這篇文章主要介紹了django的安裝和創(chuàng)建應(yīng)用,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下

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,安裝前兩個(gè)

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)各個(gè)模塊間的耦合度。

2.1.1 MVC軟件架構(gòu)模式

該模式將Web應(yīng)用開發(fā)分為三個(gè)層次:

  • 模型(Model):負(fù)責(zé)處理各個(gè)功能的實(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(shí)候調(diào)用Model和Template

還包含了一個(gè)URL分發(fā)器,將一個(gè)個(gè)URL頁面請求分發(fā)給不同的View進(jìn)行處理。view再調(diào)用相應(yīng)的Model和Template。此時(shí),URL分發(fā)器和View共同充當(dāng)了控制器(Controller)。

在MTV模式下,urls.pyviews.py 對應(yīng)控制器,models.py對應(yīng)模型Model,視圖view對應(yīng)templates下的所有文件。

3.開發(fā)第一個(gè)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 # 一個(gè)命令行使用程序,命令行方式與Django項(xiàng)目交互
└─mydjango # 項(xiàng)目目錄。這個(gè)名稱不能修改
        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)建一個(gè)名為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  # 一個(gè)空文件,告訴python該目錄應(yīng)該被視為python包目錄

創(chuàng)建應(yīng)用后,需要在全局配置文件中手動(dòng)注冊:打開 mydjango\settings.py 文件,找到INSTALLED_APPS 節(jié)點(diǎn),添加應(yīng)用名稱

3.3 處理控制器

控制器主要有視圖文件views.py和路由文件urls.py組成

  • 視圖函數(shù),實(shí)現(xiàn)模板與模板之間的交互
  • 處理請求主要也是由視圖函數(shù)完成
  • 先處理視圖的動(dòng)態(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ù)接收一個(gè)request對象作為參數(shù),該對象包含了客戶端的請求信息
	return render(request, '1/index.html') # 該行調(diào)用render方法,將index.html模板進(jìn)行渲染,并將渲染結(jié)果返回給客戶端。在該方法中,第一個(gè)參數(shù)是request對象,第二個(gè)參數(shù)是要渲染的模板文件名

以上代碼的作用是定義一個(gè)視圖函數(shù),當(dāng)客戶端訪問該視圖的時(shí)候,該視圖將渲染index.html模板文件,并將渲染結(jié)果返回給客戶端。

  • 處理URL請求路徑mydjango\urls.py
from django.contrib import admin
from django.urls import path
urlpatterns = [
    path('index/', views.index), 
]

第四行的作用:定義了一個(gè)urlpatterns列表,該列表存儲了所有的URL路由映射關(guān)系,path()方法用于定義一個(gè)路由映射規(guī)則,該方法接收兩個(gè)參數(shù),第一個(gè)參數(shù)是路由路徑,第二個(gè)參數(shù)是視圖函數(shù)。該例子中,path('index/', views.index)表示當(dāng)用戶訪問localhost:8000/index/路徑時(shí),該請求將被路由到views.py文件中的index()函數(shù)進(jìn)行處理。定義了一個(gè)URL路由,將localhost:8000/index/路徑映射到了views.py文件中的index()函數(shù)進(jìn)行處理。

3.4 處理模板

默認(rèn)沒有模板目錄,需要手動(dòng)創(chuàng)建,還需設(shè)置全局配置文件。

3.4.1 創(chuàng)建模板目錄和模板文件

在manage.py的同級目錄中創(chuàng)建templates目錄。

在templates目錄下創(chuàng)建一個(gè) 1 目錄,用來保存本章的模板文件;在1 目錄下新建一個(gè)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)一個(gè)小插曲:輸入后初始頁面正常

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

原來是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)文章

最新評論

个旧市| 克山县| 称多县| 沐川县| 米林县| 湘阴县| 石狮市| 定兴县| 沐川县| 保德县| 嘉黎县| 霍山县| 南溪县| 阿拉善右旗| 江阴市| 婺源县| 房产| 溧水县| 胶州市| 航空| 丰镇市| 雅安市| 桂平市| 舞钢市| 广水市| 新安县| 治县。| 南京市| 太原市| 囊谦县| 八宿县| 宣恩县| 鄱阳县| 遵化市| 西华县| 闽侯县| 天镇县| 龙山县| 宁河县| 万盛区| 武义县|