一篇文章帶你自學(xué)python Django
1. Django簡(jiǎn)介
Django是什么?
Django 是用Python開(kāi)發(fā)的一個(gè)免費(fèi)開(kāi)源的Web框架,可以用于快速搭建高性能,優(yōu)雅的網(wǎng)站!采用了MVC->MVT的框架模式。
Django前景
在Python中,與web開(kāi)發(fā)相關(guān)的包有13045個(gè),其中django就占了9091個(gè),約70%。同時(shí),Python中活躍的web框架多達(dá)54,其中最活躍的包括Django,flask等。Django便是其中的佼佼者,截至目前,已經(jīng)有超過(guò)5200個(gè)中大型網(wǎng)站使用Django開(kāi)發(fā)。比較知名的使用Django的公司:
國(guó)內(nèi):豆瓣、知乎等
國(guó)外:Google、YouTube(油管)、Instagram(照片墻)->facebook等
Django框架核心
1、一個(gè)面向?qū)ο蟮挠成淦?,用作?shù)據(jù)模型(以 Python 類(lèi)的形式定義)和關(guān)系型數(shù)據(jù)庫(kù)間的介質(zhì);
2.、一個(gè)基于正則表達(dá)式的 URL 分發(fā)器(路由分發(fā)器);
3、一個(gè)視圖系統(tǒng),用于處理請(qǐng)求;
4、一個(gè)模板系統(tǒng)(HTML、css、js)。
2. 設(shè)計(jì)模式
MVT模式
Django的MVT設(shè)計(jì)模式由Model(模型), View(視圖) 和Template(模板)三部分組成,分別對(duì)應(yīng)單個(gè)app目錄下的models.py, views.py和templates文件夾。它們看似與MVC設(shè)計(jì)模式不太一致,其實(shí)本質(zhì)是相同的。Django的MVT設(shè)計(jì)模式與經(jīng)典的MVC對(duì)應(yīng)關(guān)系如下。
- Django Model(模型): 與MVC中的模型Model類(lèi)似
- Django View(視圖): 類(lèi)似于MVC中的控制器Controller,負(fù)責(zé)根據(jù)用戶(hù)請(qǐng)求從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),指定向y用戶(hù)展示數(shù)據(jù)的方式(網(wǎng)頁(yè)或json數(shù)據(jù)),同時(shí)也能處理用戶(hù)提交過(guò)來(lái)的數(shù)據(jù)。
- Django Template(模板): 類(lèi)似于MVC中的視圖View,用于呈現(xiàn)Django View傳遞過(guò)來(lái)的數(shù)據(jù),也決定了用戶(hù)界面的外觀。同時(shí)也包含了表單,用于收集用戶(hù)傳遞的數(shù)據(jù)。
Django MVT設(shè)計(jì)模式中最重要的是視圖(view),view會(huì)同時(shí)與模型(model)和模板(templates)進(jìn)行交互。當(dāng)用戶(hù)發(fā)來(lái)一個(gè)請(qǐng)求(request)時(shí),Django會(huì)對(duì)請(qǐng)求頭信息進(jìn)行解析,解析出用戶(hù)需要訪問(wèn)的url地址,然后根據(jù)路由urls.py中的定義的對(duì)應(yīng)關(guān)系把請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的視圖處理。視圖會(huì)從數(shù)據(jù)庫(kù)讀取需要的數(shù)據(jù),指定渲染模板,最后返回響應(yīng)數(shù)據(jù)。

3. 開(kāi)發(fā)環(huán)境簡(jiǎn)介
1.系統(tǒng)支持:linux(推薦,項(xiàng)目常用),mac,windows
unix
推薦使用linux:linux兼容性比mac與windows更加優(yōu)秀
2.linux系統(tǒng)
- 虛擬機(jī)中安裝linux系統(tǒng)(推薦使用)
- 使用云服務(wù)器
- 安裝雙系統(tǒng)
3.開(kāi)發(fā)環(huán)境支持
- python
- pip
- virtualenv (虛擬環(huán)境)
- mysql
注:為什么開(kāi)發(fā)時(shí)需要在虛擬環(huán)境里:
4. 干凈,環(huán)境與環(huán)境之間是相互獨(dú)立的。eg:爬蟲(chóng)項(xiàng)目放在環(huán)境1,Django放在環(huán)境2中,那么兩個(gè)項(xiàng)目中的包的使用不會(huì)相互沖突。
4.創(chuàng)建虛擬環(huán)境
4.1.首先安裝管理環(huán)境的包以及虛擬環(huán)境包
4.1.1 安裝環(huán)境管理包virtualenvwrapper

注:pycharm的編輯器的終端與cmd終端是一樣的,因此在pycharm中進(jìn)行安裝操作相同
4.1.2 安裝虛擬環(huán)境包virtualenv

4.1.3 查看pip list,檢查是否安裝成功

檢查存在以上兩個(gè)包,因此安裝成功。
4.2 對(duì)虛擬環(huán)境的操作
4.2.1 創(chuàng)建虛擬環(huán)境
創(chuàng)建虛擬環(huán)境命令為mkvirtualenv 創(chuàng)建環(huán)境名

(django2108_1)表示已經(jīng)進(jìn)入到環(huán)境中。
4.2.2 查看虛擬環(huán)境中的包,并安裝Django包

4.2.3 退出虛擬環(huán)境
命令為:deactivate

4.2.4 查看創(chuàng)建所有虛擬環(huán)境
命令為:workon

4.2.5 進(jìn)入指定的虛擬環(huán)境
命令為:workon 已創(chuàng)建的虛擬環(huán)境

4.2.6 刪除虛擬環(huán)境
命令為:rmvirtualenv 虛擬環(huán)境名
注:想要?jiǎng)h除虛擬環(huán)境,首先要退出要?jiǎng)h除的虛擬環(huán)境

4.3 更換虛擬環(huán)境中的路徑(創(chuàng)建虛擬環(huán)境的路徑默認(rèn)在c盤(pán))

根據(jù)自己選擇,通過(guò)創(chuàng)建系統(tǒng)變量WORKON_HOME,將環(huán)境變量存儲(chǔ)到不同的路徑。
5.項(xiàng)目創(chuàng)建與服務(wù)啟動(dòng)
5.1創(chuàng)建項(xiàng)目
5.1.1 再次創(chuàng)建虛擬環(huán)境

5.1.2 在磁盤(pán)中創(chuàng)建文件夾用來(lái)存放項(xiàng)目

5.1.3 打開(kāi)存放項(xiàng)目的文件夾,作為項(xiàng)目文件

5.1.4 添加環(huán)境變量

5.1.5 在新的環(huán)境中安裝django包

5.1.6 創(chuàng)建項(xiàng)目
命令為:django-admin startproject 項(xiàng)目名

5.1.7 創(chuàng)建子應(yīng)用

首先cd到創(chuàng)建的項(xiàng)目路路徑中,其次輸入python manage.py startapp 子應(yīng)用名稱(chēng),創(chuàng)建子應(yīng)用。
5.1.8 注冊(cè)子應(yīng)用

5.2 啟動(dòng)服務(wù)
方式一:直接在終端輸入命令python manage.py runserver

方式二:通過(guò)設(shè)置Python中終端執(zhí)行參數(shù)

方式三:通過(guò)設(shè)置Django server(推薦使用),注:需要設(shè)置根目錄和配置文件

5.3.打開(kāi)網(wǎng)頁(yè),查看結(jié)果

總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python如何將JavaScript轉(zhuǎn)換為json
文章介紹了如何使用Python的re模塊將JavaScript代碼轉(zhuǎn)換為JSON格式,首先,使用正則表達(dá)式匹配并替換JavaScript代碼中的數(shù)字,確保它們被雙引號(hào)括起來(lái),然后,使用另一個(gè)正則表達(dá)式匹配并替換JavaScript代碼中的鍵值對(duì),確保鍵和值都被雙引號(hào)括起來(lái)2025-02-02
tensorflow 獲取模型所有參數(shù)總和數(shù)量的方法
今天小編就為大家分享一篇tensorflow 獲取模型所有參數(shù)總和數(shù)量的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Python學(xué)習(xí)筆記之列表和成員運(yùn)算符及列表相關(guān)方法詳解
這篇文章主要介紹了Python學(xué)習(xí)筆記之列表和成員運(yùn)算符及列表相關(guān)方法,結(jié)合實(shí)例形式詳細(xì)分析了Python列表相關(guān)的概念、原理、成員函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下2019-08-08
Python機(jī)器學(xué)習(xí)特征重要性分析的8個(gè)常用方法實(shí)例探究
本文詳細(xì)介紹8種常用的方法,涵蓋了基于決策樹(shù)、集成學(xué)習(xí)模型以及統(tǒng)計(jì)學(xué)方法的特征重要性分析,從決策樹(shù)模型到SHAP值,深入探討每種方法的原理和示例,幫助全面了解如何評(píng)估特征的重要性,將能更好地理解特征對(duì)模型預(yù)測(cè)的貢獻(xiàn),為提升模型性能和解釋模型決策提供有力支持2024-01-01
python中的hashlib和base64加密模塊使用實(shí)例
這篇文章主要介紹了python中的hashlib和base64加密模塊使用實(shí)例,hashlib模塊支持的加密算法有md5 sha1 sha224 sha256 sha384 sha512,需要的朋友可以參考下2014-09-09
Python使用tkinter模塊實(shí)現(xiàn)GUI界面的學(xué)生信息管理系統(tǒng)流程分步詳解
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-01-01
據(jù)Python爬蟲(chóng)不靠譜預(yù)測(cè)可知今年雙十一銷(xiāo)售額將超過(guò)6000億元
已經(jīng)是十一月十號(hào)了,雙十一即將到來(lái),電商早已預(yù)熱多日,為了在實(shí)戰(zhàn)中獲得能力的提升,本篇文章手把手帶你用Python來(lái)預(yù)測(cè)一下今年雙十一的銷(xiāo)售額將會(huì)達(dá)到多少,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11

