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

Django form表單與請(qǐng)求的生命周期步驟詳解

 更新時(shí)間:2020年06月07日 10:08:23   作者:平仄平仄平平仄  
這篇文章主要介紹了Django-form表單與請(qǐng)求的生命周期,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Django中請(qǐng)求的生命周期

HTTP請(qǐng)求及服務(wù)端響應(yīng)中傳輸?shù)乃袛?shù)據(jù)都是字符串

步驟

  • 用戶在瀏覽器中輸入url時(shí),瀏覽器會(huì)生成請(qǐng)求頭和請(qǐng)求體發(fā)給服務(wù)器
  • url經(jīng)過(guò)wsgi和中間件,到達(dá)路由映射表,在路由中一條一條進(jìn)行匹配
  • 視圖函數(shù)根據(jù)客戶端的請(qǐng)求查詢響應(yīng)的數(shù)據(jù),返回給
  • DjangoDjango把客戶端想要的數(shù)據(jù)做為一個(gè)字符串返回給客戶端
  • 客戶端瀏覽器接收到返回的數(shù)據(jù),經(jīng)過(guò)渲染后顯示給用戶

FBV

一個(gè)url對(duì)應(yīng)一個(gè)視圖函數(shù)

url匹配成功之后,會(huì)直接執(zhí)行對(duì)應(yīng)的視圖函數(shù)。

CBV

一個(gè)url對(duì)應(yīng)一個(gè)類(lèi)

url匹配成功找到視圖函數(shù)中對(duì)應(yīng)的類(lèi),然后這個(gè)類(lèi)回到請(qǐng)求頭中找到對(duì)應(yīng)的Request.Method如果客戶端以post的方式提交請(qǐng)求,就執(zhí)行類(lèi)中的post方法如果客戶端以get的方式提交請(qǐng)求,就執(zhí)行類(lèi)中的get方法

步驟:

  1. 服務(wù)端發(fā)送包含url和method的請(qǐng)求,這兩個(gè)信息都是字符串類(lèi)型
  2. 服務(wù)端通過(guò)路由映射表匹配成功后會(huì)自動(dòng)去找dispatch方法
  3. Django會(huì)通過(guò)dispatch反射的方式找到類(lèi)中對(duì)應(yīng)的方法并執(zhí)行
  4. 勒種的方法執(zhí)行完畢后,會(huì)把客戶端想要的數(shù)據(jù)返回給dispatch方法
  5. dispatch方法把數(shù)據(jù)返回給客戶端

form表單

定義:

Django的表單系統(tǒng)中,所有的表單都繼承自django.forms.Form類(lèi)

Django的表單系統(tǒng)

form_obj.as_p		 #在html網(wǎng)頁(yè)渲染所有的字段
label				#為一個(gè)標(biāo)簽添加id號(hào)
form_obj.字段		 #渲染指定的字段
min_length			#綁定字段的最短長(zhǎng)度
max_length			#綁定字段的最長(zhǎng)長(zhǎng)度
is_valid()			#驗(yàn)證用戶輸入的信息是否有效,返回一個(gè)布爾值
cleaned_data()		 #清洗數(shù)據(jù)
error_massage()		 #定義錯(cuò)誤的返回信息
#文件上傳:
request.POST.get("file")	#獲取上傳的文件的文件名
request.FILES			#獲取上傳文件的對(duì)象	結(jié)果是一個(gè)字段
file_obj.name			#獲取上傳文件在內(nèi)存中的名字
#上傳文件時(shí)要使用分片傳輸?shù)姆绞?
#上傳
enctype="multipart/form-data"	#form表單的屬性里添加
#接收
if request.method=="POST":
 file_obj = request.FILES.get("up_file")
 fl = open(file_obj.name,'vb')
 for i in file_obj.chunks():
 fl.write(i)
 fl.close()
#可以在class Meta中設(shè)定的功能

model = model.UserInfo		#顯示對(duì)于Model的字典,這里顯示用戶信息表
fields = "__all__"		#顯示數(shù)據(jù)表中所有的字段
fields = ["username","age"]	#顯示數(shù)據(jù)表的某些指定的字段
exclude = ["email"]		#不顯示數(shù)據(jù)表的某些字段
#自定義頁(yè)面的標(biāo)簽
labels = {"username":"用戶名","age":"年齡","email":"郵箱"}	
#自定義在標(biāo)簽后面顯示的提示幫助信息
help_texts = {"username":"請(qǐng)輸入正確的用戶名","email":"請(qǐng)輸入正確的郵箱"}	
#自定義錯(cuò)誤信息,用戶輸入錯(cuò)誤時(shí)提示
error_messages = {"username":{"required":"用戶名不能為空"},"email":{"invalid":"郵箱不能為空"}}
#自定義標(biāo)簽的類(lèi)型,在這里把email這個(gè)輸入框的類(lèi)型更改為email類(lèi)型
from django import fields as field_widget
field_classes = {}"email":field_widget.EmailField}
#自定義插件(attrs為插件的屬性)
from django.forms import widgets as formwidget
widgets = {"username":formwidget.Textarea(attrs={"class":"c1"})}

總結(jié)

到此這篇關(guān)于Django-form表單與請(qǐng)求的生命周期的文章就介紹到這了,更多相關(guān)Django-form表單與請(qǐng)求的生命周期內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深度學(xué)習(xí)TextRNN的tensorflow1.14實(shí)現(xiàn)示例

    深度學(xué)習(xí)TextRNN的tensorflow1.14實(shí)現(xiàn)示例

    這篇文章主要介紹了深度學(xué)習(xí)TextRNN的tensorflow1.14實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Python區(qū)塊鏈創(chuàng)建Genesis Block教程

    Python區(qū)塊鏈創(chuàng)建Genesis Block教程

    這篇文章主要為大家介紹了Python區(qū)塊鏈創(chuàng)建Genesis Block教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python基礎(chǔ)之hashlib模塊詳解

    Python基礎(chǔ)之hashlib模塊詳解

    這篇文章主要介紹了Python基礎(chǔ)之hashlib模塊詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • Python中容易被忽視的核心功能總結(jié)

    Python中容易被忽視的核心功能總結(jié)

    Python是一門(mén)富有魅力的編程語(yǔ)言,擁有豐富的功能和庫(kù),以及強(qiáng)大的社區(qū)支持,然而,有一些核心功能經(jīng)常被忽視,而它們實(shí)際上可以極大地提高代碼的質(zhì)量、可讀性和性能,本文將給大家詳細(xì)的介紹一下這些容易被忽視的功能,需要的朋友可以參考下
    2023-11-11
  • python中if和elif的區(qū)別介紹

    python中if和elif的區(qū)別介紹

    這篇文章主要介紹了python中if和elif的區(qū)別,下面文章將舉多個(gè)例子圍繞if和eli的相關(guān)資料展開(kāi)內(nèi)容,需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-11-11
  • 使用python讀寫(xiě)txt和json(jsonl)大文件的方法步驟

    使用python讀寫(xiě)txt和json(jsonl)大文件的方法步驟

    在Python中讀取txt和json(jsonl)大文件并保存到字典是一項(xiàng)非常常見(jiàn)的操作,這篇文章主要給大家介紹了關(guān)于使用python讀寫(xiě)txt和json(jsonl)大文件的方法步驟,需要的朋友可以參考下
    2023-12-12
  • Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn)

    Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn)

    本文主要介紹了Java中MultipartFile與File互轉(zhuǎn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python Opencv使用ann神經(jīng)網(wǎng)絡(luò)識(shí)別手寫(xiě)數(shù)字功能

    Python Opencv使用ann神經(jīng)網(wǎng)絡(luò)識(shí)別手寫(xiě)數(shù)字功能

    這篇文章主要介紹了opencv(python)使用ann神經(jīng)網(wǎng)絡(luò)識(shí)別手寫(xiě)數(shù)字,由于這里主要研究knn算法,為了圖簡(jiǎn)單,直接使用Keras的mnist手寫(xiě)數(shù)字解析模塊,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Python入門(mén)教程(十九)python的函數(shù)詳解

    Python入門(mén)教程(十九)python的函數(shù)詳解

    這篇文章主要介紹了Python入門(mén)教程(十九)python的函數(shù),函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段,需要的朋友可以參考下
    2023-04-04
  • python如何利用中心坐標(biāo)繪制矩形

    python如何利用中心坐標(biāo)繪制矩形

    這篇文章主要介紹了python如何利用中心坐標(biāo)繪制矩形問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評(píng)論

神农架林区| 诸城市| 嫩江县| 安岳县| 阳曲县| 建德市| 蒙城县| 漠河县| 乌苏市| 吴旗县| 铜川市| 灵台县| 凤庆县| 沾化县| 靖西县| 南丹县| 临安市| 婺源县| 禄劝| 福贡县| 金乡县| 邹城市| 宣化县| 洪雅县| 勃利县| 元谋县| 黄浦区| 从江县| 土默特右旗| 辽宁省| 乐山市| 红桥区| 五指山市| 屏南县| 沙坪坝区| 惠安县| 梧州市| 米脂县| 交城县| 周宁县| 类乌齐县|