最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django框架中視圖的用法

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

視圖層

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

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

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

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

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

一、請求對象: HttpRequest 對象(簡稱 request 對象)

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

1、GET

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

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

取值格式:對象.方法。

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

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

2、POST

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

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

取值格式: 對象.方法。

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

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

3、body

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

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

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

4、path

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

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

5、method

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

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

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

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

  • Python多進(jìn)程機(jī)制實(shí)例詳解

    Python多進(jìn)程機(jī)制實(shí)例詳解

    這篇文章主要介紹了Python多進(jìn)程機(jī)制,以實(shí)例形式詳細(xì)分析了Python多進(jìn)程機(jī)制的原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-07-07
  • 實(shí)踐Vim配置python開發(fā)環(huán)境

    實(shí)踐Vim配置python開發(fā)環(huán)境

    這篇文章給大家分享了Vim配置python開發(fā)環(huán)境的實(shí)踐心得,大家可以跟著嘗試操作下。
    2018-07-07
  • python運(yùn)用sklearn實(shí)現(xiàn)KNN分類算法

    python運(yùn)用sklearn實(shí)現(xiàn)KNN分類算法

    這篇文章主要為大家詳細(xì)介紹了python運(yùn)用sklearn實(shí)現(xiàn)KNN分類算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • python中flatten()函數(shù)用法詳解

    python中flatten()函數(shù)用法詳解

    本文主要介紹了python中flatten()函數(shù)用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python自動化辦公之清理重復(fù)文件詳解

    Python自動化辦公之清理重復(fù)文件詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Python清理重復(fù)的文件,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下
    2022-05-05
  • uwsgi啟動django項(xiàng)目的實(shí)現(xiàn)步驟

    uwsgi啟動django項(xiàng)目的實(shí)現(xiàn)步驟

    本文主要介紹了uwsgi啟動django項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • selenium查找網(wǎng)頁出現(xiàn)加載卡頓或失敗的解決方法

    selenium查找網(wǎng)頁出現(xiàn)加載卡頓或失敗的解決方法

    這篇文章主要為大家詳細(xì)介紹了selenium查找網(wǎng)頁時(shí)如何處理網(wǎng)站資源一直加載非??D或者失敗的情況,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-10-10
  • 利用python進(jìn)行文件操作

    利用python進(jìn)行文件操作

    這篇文章主要介紹了如何利用python進(jìn)行文件操作,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Pycharm搭建Django項(xiàng)目詳細(xì)教程(看完這一篇就夠了)

    Pycharm搭建Django項(xiàng)目詳細(xì)教程(看完這一篇就夠了)

    這篇文章主要給大家介紹了關(guān)于Pycharm搭建Django項(xiàng)目的詳細(xì)教程,想要學(xué)習(xí)的小伙伴看完這一篇就夠了,pycharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時(shí)提高其效率的工具,需要的朋友可以參考下
    2023-11-11
  • python實(shí)現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法

    python實(shí)現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法

    這篇文章主要介紹了python實(shí)現(xiàn)文件路徑和url相互轉(zhuǎn)換的方法,以URL轉(zhuǎn)換成文件路徑為例分析了Python實(shí)現(xiàn)地址轉(zhuǎn)換的技巧,需要的朋友可以參考下
    2015-07-07

最新評論

博湖县| 汽车| 葫芦岛市| 邹城市| 伊金霍洛旗| 乐昌市| 鹤峰县| 开鲁县| 揭西县| 芮城县| 邛崃市| 三门县| 和田市| 资源县| 恭城| 当涂县| 沧州市| 德令哈市| 鄢陵县| 白银市| 衡阳市| 共和县| 霍山县| 南平市| 简阳市| 双鸭山市| 连平县| 宁武县| 翼城县| 宜阳县| 井研县| 托克逊县| 南昌市| 苏州市| 浦江县| 鹿邑县| 修水县| 许昌县| 繁昌县| 青田县| 英超|