本篇內(nèi)容主要講解“Django的基礎(chǔ)知識(shí)和基本應(yīng)用介紹”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Django的基礎(chǔ)知識(shí)和基本應(yīng)用介紹”吧!
創(chuàng)新互聯(lián)是一家專業(yè)的成都網(wǎng)站建設(shè)公司,我們專注網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、企業(yè)網(wǎng)站建設(shè),友情鏈接,1元廣告為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。本文實(shí)例講述了Django基礎(chǔ)知識(shí)與基本應(yīng)用。分享給大家供大家參考,具體如下:
MVC模式和MTV模式
MVC model view controller
MTV model templates view controller
Django的MTV模式本質(zhì)是各組件之間為了保持松耦合關(guān)系,Django的MTV分別代表:
Model(模型):負(fù)責(zé)業(yè)務(wù)對(duì)象與數(shù)據(jù)庫(kù)的對(duì)象(ORM)
Template(模版):負(fù)責(zé)如何把頁(yè)面展示給用戶
View(視圖):負(fù)責(zé)業(yè)務(wù)邏輯,并在適當(dāng)?shù)臅r(shí)候調(diào)用Model和Template
此外,Django還有一個(gè)url分發(fā)器,它的作用是將一個(gè)個(gè)URL的頁(yè)面請(qǐng)求分發(fā)給不同的view處理,view再調(diào)用相應(yīng)的Model和Template。
Django基本命令
創(chuàng)建一個(gè)Django項(xiàng)目
django-admin startproject project_name
創(chuàng)建項(xiàng)目應(yīng)用
python manage.py startapp appName
啟動(dòng)Django項(xiàng)目
python manage.py runserver IP PORT #默認(rèn)是8000
查看django版本信息
import django print(django.VERSION)
創(chuàng)建一個(gè)mysite項(xiàng)目
django-admin.py startproject mysite
當(dāng)前目錄下會(huì)生成一個(gè)mysite項(xiàng)目目錄,結(jié)構(gòu)如下:
manage.py是Django項(xiàng)目里的工具,通過(guò)它可以調(diào)用django shell
和數(shù)據(jù)庫(kù)等。
settings.py是項(xiàng)目的默認(rèn)設(shè)置文件,包括數(shù)據(jù)庫(kù)的信息,調(diào)試標(biāo)志以及其他工作的變量。
urls.py是負(fù)責(zé)把url模式映射到應(yīng)用程序。
項(xiàng)目與應(yīng)用:
一個(gè)項(xiàng)目可以有多個(gè)應(yīng)用
一個(gè)應(yīng)用可以被多個(gè)項(xiàng)目擁有
在mysite目錄下創(chuàng)建應(yīng)用,比如blog
python manage.py startapp blog
生成如上目錄結(jié)構(gòu)。
models:與數(shù)據(jù)庫(kù)交互的文件
views:存放視圖函數(shù)的
啟動(dòng)django項(xiàng)目
python manage.py runserver 8080
這樣項(xiàng)目就能啟動(dòng)了,訪問(wèn)http://127.0.0.1:8080即可訪問(wèn)。
注意csrf保護(hù)機(jī)制
在mysite項(xiàng)目目錄下的settings配置文件中,中間件MIDDLEWARE設(shè)置中,有一條django.middleware.csrf.CsrfViewMiddleware
一行,新手練習(xí)時(shí)可以先將其注釋掉。
下面我在mysite這個(gè)項(xiàng)目寫一個(gè)練手blog應(yīng)用,注冊(cè)和登錄。
下面是blog應(yīng)用中views.py的代碼:
from django.shortcuts import render,HttpResponse #導(dǎo)入render是為了返回渲染后的網(wǎng)頁(yè),HttpResponse是可以返回字符串 import json # Create your views here. def login(request): if request.method=="POST":#指定格式為POST print(request.POST) username=request.POST.get("user") password=request.POST.get("pwd") f=open("a.txt","r") # data=f.read() dic=json.load(f) if username in dic and password==dic[username]: return HttpResponse("登錄成功") #返回字符串內(nèi)容 return render(request,"login.html") #返回網(wǎng)頁(yè)內(nèi)容 def auth(request): if request.method=="POST": # print(request.POST) username=request.POST.get("user") password=request.POST.get("pwd") info={} info[username]=password print(info) f=open("a.txt","a") data=json.dump(info,f) f.close() return render(request,"auth.html")
上面的注冊(cè)機(jī)制寫的比較簡(jiǎn)單,只是為了測(cè)試一下django的使用。
下面是mysite目錄下的urls.py代碼
from django.conf.urls import url from django.contrib import admin from blog import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'login',views.login), url(r'auth',views.auth),#login為瀏覽器url地址欄IP:PORT/后面的內(nèi)容,對(duì)應(yīng)一個(gè)視圖函數(shù) ]
下面為兩個(gè)html頁(yè)面
下面是login.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h3>Django登錄頁(yè)面</h3> <form action="http://127.0.0.1:8900/login/" method="post"> <p>姓名<input type="text" name="user"></p> <p>密碼<input type="password" name="pwd"></p> <p> <input type="submit"> </p> </form> </body> </html>
下面是auth.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h3>Django注冊(cè)頁(yè)面</h3> <form action="http://127.0.0.1:8900/auth" method="post"> <p>姓名<input type="text" name="user"></p> <p>密碼<input type="password" name="pwd"></p> <p> <input type="submit"> </p> </form> </body> </html>
下圖左面為整個(gè)目錄結(jié)構(gòu),右面為settings配置文件中需要注意的位置,該項(xiàng)標(biāo)識(shí)了模板目錄,否則會(huì)找不到。
如上配置之后,在templates目錄內(nèi)寫好對(duì)應(yīng)的兩個(gè)html頁(yè)面之后,通過(guò)python manage.py runserver 8900
命令啟動(dòng)項(xiàng)目,訪問(wèn)相應(yīng)ip 端口 等就可以訪問(wèn)了。
到此,相信大家對(duì)“Django的基礎(chǔ)知識(shí)和基本應(yīng)用介紹”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站題目:Django的基礎(chǔ)知識(shí)和基本應(yīng)用介紹-創(chuàng)新互聯(lián)
URL地址:http://muchs.cn/article14/iohde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、微信小程序、網(wǎng)站制作、ChatGPT、網(wǎng)站收錄
聲明:本網(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)
猜你還喜歡下面的內(nèi)容