亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Django框架中視圖的用法

 更新時(shí)間:2022年06月10日 15:56:28   作者:springsnow  
這篇文章介紹了Django框架中視圖的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

視圖層

一個(gè)視圖函數(shù),簡(jiǎn)稱(chēng)視圖,是一個(gè)簡(jiǎn)單的 Python 函數(shù),它接受 Web 請(qǐng)求并且返回 Web 響應(yīng)。

響應(yīng)可以是一個(gè) HTML 頁(yè)面、一個(gè) 404 錯(cuò)誤頁(yè)面、重定向頁(yè)面、XML 文檔、或者一張圖片...

無(wú)論視圖本身包含什么邏輯,都要返回響應(yīng)。代碼寫(xiě)在哪里都可以,只要在 Python 目錄下面,一般放在項(xiàng)目的 views.py 文件中。

每個(gè)視圖函數(shù)都負(fù)責(zé)返回一個(gè) HttpResponse 對(duì)象,對(duì)象中包含生成的響應(yīng)。

視圖層中有兩個(gè)重要的對(duì)象:請(qǐng)求對(duì)象(request)與響應(yīng)對(duì)象(HttpResponse)。

一、請(qǐng)求對(duì)象: HttpRequest 對(duì)象(簡(jiǎn)稱(chēng) request 對(duì)象)

以下介紹幾個(gè)常用的 request 屬性。

1、GET

數(shù)據(jù)類(lèi)型是 QueryDict,一個(gè)類(lèi)似于字典的對(duì)象,包含 HTTP GET 的所有參數(shù)。

有相同的鍵,就把所有的值放到對(duì)應(yīng)的列表里。

取值格式:對(duì)象.方法。

get():返回字符串,如果該鍵對(duì)應(yīng)有多個(gè)值,取出該鍵的最后一個(gè)值。

def runoob(request):
    name = request.GET.get("name")
    return HttpResponse('姓名:{}'.format(name))

2、POST

數(shù)據(jù)類(lèi)型是 QueryDict,一個(gè)類(lèi)似于字典的對(duì)象,包含 HTTP POST 的所有參數(shù)。

常用于 form 表單,form 表單里的標(biāo)簽 name 屬性對(duì)應(yīng)參數(shù)的鍵,value 屬性對(duì)應(yīng)參數(shù)的值。

取值格式: 對(duì)象.方法。

get():返回字符串,如果該鍵對(duì)應(yīng)有多個(gè)值,取出該鍵的最后一個(gè)值。

def runoob(request):
    name = request.POST.get("name")
return HttpResponse('姓名:{}'.format(name))

3、body

數(shù)據(jù)類(lèi)型是二進(jìn)制字節(jié)流,是原生請(qǐng)求體里的參數(shù)內(nèi)容,在 HTTP 中用于 POST,因?yàn)?GET 沒(méi)有請(qǐng)求體。

在 HTTP 中不常用,而在處理非 HTTP 形式的報(bào)文時(shí)非常有用,例如:二進(jìn)制圖片、XML、Json 等。

def runoob(request):
    name = request.body
print(name)
return HttpResponse("菜鳥(niǎo)教程")

4、path

獲取 URL 中的路徑部分,數(shù)據(jù)類(lèi)型是字符串。

def runoob(request):
    name = request.path
    print(name)
    return HttpResponse("菜鳥(niǎo)教程")

5、method

獲取當(dāng)前請(qǐng)求的方式,數(shù)據(jù)類(lèi)型是字符串,且結(jié)果為大寫(xiě)。

def runoob(request):
    name = request.method
    print(name)
    return HttpResponse("菜鳥(niǎo)教程")

二、響應(yīng)對(duì)象:HttpResponse 對(duì)象

響應(yīng)對(duì)象主要有三種形式:HttpResponse()、render()、redirect()。

HttpResponse(): 返回文本,參數(shù)為字符串,字符串中寫(xiě)文本內(nèi)容。如果參數(shù)為字符串里含有 html 標(biāo)簽,也可以渲染。

def runoob(request):
# return HttpResponse("菜鳥(niǎo)教程")
return HttpResponse("<a href='http://https://www.runoob.com/>菜鳥(niǎo)教程</a>")

render(): 返回文本,第一個(gè)參數(shù)為 request,第二個(gè)參數(shù)為字符串(頁(yè)面名稱(chēng)),第三個(gè)參數(shù)為字典(可選參數(shù),向頁(yè)面?zhèn)鬟f的參數(shù):鍵為頁(yè)面參數(shù)名,值為views參數(shù)名)。

def runoob(request):
    name ="菜鳥(niǎo)教程"
return render(request,"runoob.html",{"name":name})

redirect():重定向,跳轉(zhuǎn)新頁(yè)面。參數(shù)為字符串,字符串中填寫(xiě)頁(yè)面路徑。一般用于 form 表單提交后,跳轉(zhuǎn)到新頁(yè)面。

def runoob(request):
return redirect("/index/")

render 和 redirect 是在 HttpResponse 的基礎(chǔ)上進(jìn)行了封裝:

  • render:底層返回的也是 HttpResponse 對(duì)象
  • redirect:底層繼承的是 HttpResponse 對(duì)象

到此這篇關(guān)于Django框架中視圖用法的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • PyTorch詳解經(jīng)典網(wǎng)絡(luò)ResNet實(shí)現(xiàn)流程

    PyTorch詳解經(jīng)典網(wǎng)絡(luò)ResNet實(shí)現(xiàn)流程

    ResNet全稱(chēng)residual neural network,主要是解決過(guò)深的網(wǎng)絡(luò)帶來(lái)的梯度彌散,梯度爆炸,網(wǎng)絡(luò)退化(即網(wǎng)絡(luò)層數(shù)越深時(shí),在數(shù)據(jù)集上表現(xiàn)的性能卻越差)的問(wèn)題
    2022-05-05
  • 對(duì)Python生成器、裝飾器、遞歸的使用詳解

    對(duì)Python生成器、裝飾器、遞歸的使用詳解

    今天小編就為大家分享一篇對(duì)Python生成器、裝飾器、遞歸的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python中remove函數(shù)的踩坑記錄

    python中remove函數(shù)的踩坑記錄

    這篇文章主要給大家介紹了關(guān)于python中remove函數(shù)的踩坑記錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python中的數(shù)據(jù)可視化matplotlib與繪圖庫(kù)模塊

    Python中的數(shù)據(jù)可視化matplotlib與繪圖庫(kù)模塊

    這篇文章介紹了Python中的數(shù)據(jù)可視化matplotlib與繪圖庫(kù)模塊,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Python模擬登入的N種方式(建議收藏)

    Python模擬登入的N種方式(建議收藏)

    這篇文章主要介紹了Python模擬登入的N種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python使用Pycharm必備插件推薦(非常好用!)

    Python使用Pycharm必備插件推薦(非常好用!)

    首先我們要知道pycharm是一款非常強(qiáng)大的python集成開(kāi)發(fā)環(huán)境,帶有一整套python開(kāi)發(fā)工具,這篇文章主要給大家介紹了關(guān)于Python使用Pycharm必備插件推薦的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • python使用xauth方式登錄飯否網(wǎng)然后發(fā)消息

    python使用xauth方式登錄飯否網(wǎng)然后發(fā)消息

    這篇文章主要介紹了python使用xauth方式登錄飯否網(wǎng)然后發(fā)消息示例,需要的朋友可以參考下
    2014-04-04
  • Python樹(shù)莓派學(xué)習(xí)筆記之UDP傳輸視頻幀操作詳解

    Python樹(shù)莓派學(xué)習(xí)筆記之UDP傳輸視頻幀操作詳解

    這篇文章主要介紹了Python樹(shù)莓派學(xué)習(xí)筆記之UDP傳輸視頻幀操作,結(jié)合實(shí)例形式詳細(xì)分析了Python樹(shù)莓派編程中使用UDP協(xié)議進(jìn)行視頻幀傳輸?shù)南嚓P(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-11-11
  • python實(shí)現(xiàn)大量圖片重命名

    python實(shí)現(xiàn)大量圖片重命名

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)大量圖片重命名,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Python在日志中隱藏明文密碼的方法

    Python在日志中隱藏明文密碼的方法

    logging日志模塊是python的一個(gè)內(nèi)置模塊,該模塊定義了一些函數(shù)和類(lèi),為上層應(yīng)用程序或庫(kù)實(shí)現(xiàn)了一個(gè)強(qiáng)大而又靈活的日志記錄系統(tǒng),這篇文章主要介紹了Python如何在日志中隱藏明文密碼?,需要的朋友可以參考下
    2023-10-10

最新評(píng)論