使用django的原因-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)建站專注于荔城企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),成都商城網(wǎng)站開(kāi)發(fā)。荔城網(wǎng)站建設(shè)公司,為荔城等地區(qū)提供建站服務(wù)。全流程定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

這篇文章主要介紹了使用django的原因,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

為什么要學(xué)習(xí)Django?

知Python者必知Django, 因?yàn)檫@可是Python語(yǔ)言里最流行&強(qiáng)大的Web框架,同時(shí)亦是全球第5大WEB框架,可快速構(gòu)建穩(wěn)定強(qiáng)大的WEB項(xiàng)目,大大提高開(kāi)發(fā)效率,很多知名項(xiàng)目都是基于Django開(kāi)發(fā),如Disqus、Pinterest、Instagram、Bitbucket等, Django官方Slogan是The framework for perfectionist with deadline! 一個(gè)為完美主義者且又開(kāi)發(fā)工期很緊的人設(shè)計(jì)的框架,事實(shí)確實(shí)如此,Django自身集成了豐富的WEB開(kāi)發(fā)通用組件,如用戶認(rèn)證、分頁(yè)、中間件、緩存、session等,可以避免浪費(fèi)大量時(shí)間重復(fù)造輪子。

Django安裝

pip3 install django   #實(shí)例版本是2.0

注意,2.0 跟1.x版本上用法上是有些區(qū)別的,本課程我們主講2.x。

安裝成功后,就會(huì)出現(xiàn) django-admin 命令.

以下是創(chuàng)建Django的方法

創(chuàng)建Project

你想做個(gè)網(wǎng)站,首先我們要?jiǎng)?chuàng)建一個(gè)django project, 以后的代碼都放在這個(gè)項(xiàng)目里。

django-admin  startproject  mysite #項(xiàng)目名是mysite

創(chuàng)建好的項(xiàng)目目錄結(jié)構(gòu)

 mysite
        ├── manage.py       # 管理程序的文件,啟動(dòng)和結(jié)束等。
        └── my site
            ├── __init__.py
            ├── settings.py     # 程序的配置文件
            ├── urls.py     # 程序的路由系統(tǒng),即:url和處理其函數(shù)的對(duì)應(yīng)的關(guān)系
            └── wsgi.py     # 指定框架的wsgi
  
命令幫助我們創(chuàng)建了幾個(gè)文件,通過(guò)文件將功能代碼歸類?! ?/pre>

創(chuàng)建APP

一個(gè)項(xiàng)目中會(huì)包含一個(gè)或多個(gè)子項(xiàng)目,每個(gè)項(xiàng)目實(shí)現(xiàn)不同的功能和服務(wù),如微信里包含基本通信功能,還有支付、小程序等,每塊業(yè)務(wù)都可以分為一個(gè)子項(xiàng)目。在django中, 我們管這個(gè)子項(xiàng)目叫app。下面是一個(gè)有多app的項(xiàng)目:

為了開(kāi)發(fā)和維護(hù)方便,每個(gè)子項(xiàng)目(app)都會(huì)有一個(gè)獨(dú)立文件夾來(lái)存放各自的業(yè)務(wù)代碼。

一般程序簡(jiǎn)單情況下,只需要?jiǎng)?chuàng)建一個(gè)app即可。

python manage.py startapp app01   #app01 是app名稱

Django的第一次請(qǐng)求

HTTP請(qǐng)求本質(zhì)

上面的一次django請(qǐng)求都經(jīng)歷了哪些過(guò)程呢?我們來(lái)剖析下

瀏覽器訪問(wèn)網(wǎng)站的本質(zhì):socket客戶端、socket服務(wù)端之間的收發(fā)消息。

流程:

1. 【服務(wù)端】網(wǎng)站啟動(dòng),并監(jiān)聽(tīng)I(yíng)P和端口,如:127.0.0.1:80,等待客戶端來(lái)連接…

2. 【客戶端】瀏覽器中輸入http://www.oldboyedu.com/index/,瀏覽器先后進(jìn)行:

1)連接:域名解析得到網(wǎng)站IP,并根據(jù)端口進(jìn)行連接。

2)發(fā)送消息:將請(qǐng)求數(shù)據(jù)發(fā)送給服務(wù)端,發(fā)送數(shù)據(jù)本質(zhì)上是字符串,格式如下:

GET /index/ http1.1\r\nhost:www.oldboyedu.com…..\r\n\r\n?                             
POST /index/ http1.1\r\nhost:www.oldboyedu.com...\r\n\r\nage=18&num=1?3.

3. 【服務(wù)端】接收用戶請(qǐng)求發(fā)來(lái)的數(shù)據(jù),并根據(jù)請(qǐng)求字符串解析,并做出響應(yīng)。

響應(yīng):HTTP/1.1 200 OK\r\nContent-Type: text/html;...\r\n\r\n<html>...</html>

4. 【客戶端】接收服務(wù)端響應(yīng)的內(nèi)容,將響應(yīng)體展示在瀏覽器上,響應(yīng)頭偷偷保存到瀏覽器。

5. 【客戶端】【服務(wù)端】連接斷開(kāi),Http請(qǐng)求終止(體現(xiàn)了Http短連接)。

注意:請(qǐng)求和響應(yīng)基本包含請(qǐng)求頭和請(qǐng)求體并通過(guò)\r\n\r\n進(jìn)行分割。

用Django 開(kāi)發(fā)用戶登錄頁(yè)面

用戶登錄是個(gè)表單啦,但目前我們只會(huì)用Django返回字符串,表單涉及的html元素比較多,總不能在view.py里寫好返回吧?這太low了,是的,怎么可以不low? 是時(shí)候表演真正的技術(shù)啦。

Django有個(gè)叫模板(Template)的東東,可以直接把你的Html代碼寫在模板里,返回給瀏覽器。

模板初探

想用模板僅需2步,

1. 配置存html文件的模板目錄

2. 在你的views.py的響應(yīng)函數(shù)里返回對(duì)應(yīng)的html文件

MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設(shè)計(jì)創(chuàng)建 Web 應(yīng)用程序的模式

不懂對(duì)不對(duì)?其實(shí)說(shuō)白了,就是把Web開(kāi)發(fā)中一個(gè)請(qǐng)求處理流程分成了3部分,每部分專注做自己的事。

1. Model(模型)一般對(duì)應(yīng)數(shù)據(jù)庫(kù)操作、紀(jì)錄的存取

2. View(視圖)決定著如何展示數(shù)據(jù)

3. Controller(控制器)負(fù)現(xiàn)處理用戶交互的部分??刂破髫?fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享使用django的原因內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

分享標(biāo)題:使用django的原因-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://muchs.cn/article34/dhecpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、微信公眾號(hào)、做網(wǎng)站服務(wù)器托管、軟件開(kāi)發(fā)、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化