1. 視圖
作用:
1. 根據(jù)請(qǐng)求, 通過(guò)視圖函數(shù)或者方法 合成滿足http響應(yīng)的靜態(tài)內(nèi)容
2. 一般在視圖中完成以下內(nèi)容: 完成業(yè)務(wù)邏輯
a. 接收參數(shù)
b. 操作數(shù)據(jù)庫(kù)
c. 合成html正文
d. 返回HttpResponse()對(duì)象
常見(jiàn)的視圖的形式:
函數(shù)形式
類形式
常見(jiàn)的存放位置:
本質(zhì)上沒(méi)有必須說(shuō)一定要存儲(chǔ)到views.py中, 可以存儲(chǔ)在任意位置.
建議都存儲(chǔ) 在應(yīng)用目錄下的views.py中, 方便管理里.
如何新建子應(yīng)用 (除了主應(yīng)用 默認(rèn)創(chuàng)建好了,其他都是子應(yīng)用)? --- app (application)
語(yǔ)法:
python.exe manage.py startapp 應(yīng)用名? ---- 會(huì)在根目錄創(chuàng)建對(duì)應(yīng) 應(yīng)用名的包
可以創(chuàng)建的地方:
terminal
dos(自己激活虛擬環(huán)境)
Tools--->run manage task
自己創(chuàng)建兩個(gè)應(yīng)用 為 book 和 movie
2. 創(chuàng)建視圖
1. 函數(shù)形式, 在應(yīng)用目錄下的views.py中創(chuàng)建一個(gè)函數(shù)
視圖函數(shù)的要求
1. 第一個(gè)參數(shù)必須為request
2. 必須返回HttpResponse()對(duì)象
def index(request):#首頁(yè)
return HttpResponse("hello wordl")
綁定路由
a. 可以在主應(yīng)用下的urls.py中綁定視圖函數(shù)
b. 可以通過(guò)子路由的形式綁定視圖函數(shù)
子路由: 在子應(yīng)用下自己創(chuàng)建一個(gè)? urls.py 文件的. 里面的內(nèi)容和主 應(yīng)用下的urls.py一樣
內(nèi)容:
from django.conf.urls import url
# 子路由
urlpatterns = [
url(???)
]
然后再在主應(yīng)用中導(dǎo)入子路由
from django.conf.urls import url, include
urlpatterns = [
url(r'^admin/', admin.site.urls),
# 第一種形式
# url(r'^index/$',index,name="圖書(shū)首頁(yè)"),
# 第二種形式 ,子路由的形式
url(r'^book/', include("book.urls")),
]
2. 類形式
3. 視圖函數(shù)接請(qǐng)求參數(shù)
http://域名:端口/路徑?參數(shù)名=值&參數(shù)名2=值 -----> GET請(qǐng)求
POST請(qǐng)求
1. 使用 request 就能獲取請(qǐng)求參數(shù)
除了請(qǐng)求參數(shù)意外,所有的請(qǐng)求信息都在request對(duì)象.
以屬性的形式保存到reqeust對(duì)象上
request.GET? 獲取get請(qǐng)求方式的參數(shù)
request.GET['鍵']
request.GET.get("鍵")
request.POST? 獲取POST請(qǐng)求方式的參數(shù)
request.COOKIES? 獲取COOKIE信息
request.method 請(qǐng)求方式 GET/POST
2. 介紹 pycharm 調(diào)試功能 --->用于觀察代碼的執(zhí)行流程 及 變量上保存的值