欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間: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,安裝前兩個

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.pyviews.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模擬事件觸發(fā)機(jī)制詳解

    python模擬事件觸發(fā)機(jī)制詳解

    這篇文章主要為大家詳細(xì)介紹了python模擬事件觸發(fā)機(jī)制的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python控制Firefox方法總結(jié)

    Python控制Firefox方法總結(jié)

    在本文里我們給大家分享了關(guān)于如何用Python控制Firefox的知識點(diǎn)總結(jié),有此需要的朋友們可以參閱下。
    2019-06-06
  • python 利用瀏覽器 Cookie 模擬登錄的用戶訪問知乎的方法

    python 利用瀏覽器 Cookie 模擬登錄的用戶訪問知乎的方法

    今天小編就為大家分享一篇python 利用瀏覽器 Cookie 模擬登錄的用戶訪問知乎的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python安裝jieba庫詳細(xì)教程

    Python安裝jieba庫詳細(xì)教程

    jieba庫是一款優(yōu)秀的 Python 第三方中文分詞庫,jieba 支持三種分詞模式:精確模式、全模式和搜索引擎模式,這篇文章主要介紹了Python安裝jieba庫教程,需要的朋友可以參考下
    2023-03-03
  • Python3使用Selenium獲取session和token方法詳解

    Python3使用Selenium獲取session和token方法詳解

    這篇文章主要介紹了Python3使用Selenium獲取session和token方法詳解,需要的朋友可以參考下
    2021-02-02
  • tensorflow模型的save與restore,及checkpoint中讀取變量方式

    tensorflow模型的save與restore,及checkpoint中讀取變量方式

    這篇文章主要介紹了tensorflow模型的save與restore,及checkpoint中讀取變量方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Pandas-DataFrame知識點(diǎn)匯總

    Pandas-DataFrame知識點(diǎn)匯總

    這篇文章主要介紹了Pandas-DataFrame知識點(diǎn)匯總,DataFrame是一種表格型數(shù)據(jù)結(jié)構(gòu),它含有一組有序的列,每列可以是不同的值,下面我們一起進(jìn)入文章了解更多詳細(xì)內(nèi)容吧,需要的小伙伴也可以參考一下
    2022-03-03
  • 詳解python polyscope庫的安裝和例程

    詳解python polyscope庫的安裝和例程

    這篇文章主要介紹了python polyscope庫的安裝和例程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Python正則表達(dá)式如何匹配特殊字符串

    Python正則表達(dá)式如何匹配特殊字符串

    文章主要介紹了如何使用Python正則表達(dá)式匹配和提取特定格式的字符串,通過示例,展示了如何從一串字符串中提取符合特定模式的子字符串,并輸出結(jié)果,文章還提到了一些正則表達(dá)式的應(yīng)用經(jīng)驗(yàn),并鼓勵讀者參考和使用腳本之家提供的資源
    2025-02-02
  • python 使用while寫猜年齡小游戲過程解析

    python 使用while寫猜年齡小游戲過程解析

    這篇文章主要介紹了python 使用while寫猜年齡小游戲過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10

最新評論