小編這次要給大家分享的是詳解Django中form表單與請求的生命周期操作,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
Django中請求的生命周期
HTTP請求及服務端響應中傳輸的所有數據都是字符串
步驟
url時,瀏覽器會生成請求頭和請求體發給服務器url經過wsgi和中間件,到達路由映射表,在路由中一條一條進行匹配DjangoDjango把客戶端想要的數據做為一個字符串返回給客戶端FBV
一個url對應一個視圖函數
在url匹配成功之后,會直接執行對應的視圖函數。
CBV
一個url對應一個類
url匹配成功找到視圖函數中對應的類,然后這個類回到請求頭中找到對應的Request.Method如果客戶端以post的方式提交請求,就執行類中的post方法如果客戶端以get的方式提交請求,就執行類中的get方法
步驟:
url和method的請求,這兩個信息都是字符串類型Django會通過dispatch反射的方式找到類中對應的方法并執行form表單
定義:
Django的表單系統中,所有的表單都繼承自django.forms.Form類
Django的表單系統
form_obj.as_p #在html網頁渲染所有的字段
label #為一個標簽添加id號
form_obj.字段 #渲染指定的字段
min_length #綁定字段的最短長度
max_length #綁定字段的最長長度
is_valid() #驗證用戶輸入的信息是否有效,返回一個布爾值
cleaned_data() #清洗數據
error_massage() #定義錯誤的返回信息
#文件上傳:
request.POST.get("file") #獲取上傳的文件的文件名
request.FILES #獲取上傳文件的對象 結果是一個字段
file_obj.name #獲取上傳文件在內存中的名字
#上傳文件時要使用分片傳輸的方式
#上傳
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中設定的功能
model = model.UserInfo #顯示對于Model的字典,這里顯示用戶信息表
fields = "__all__" #顯示數據表中所有的字段
fields = ["username","age"] #顯示數據表的某些指定的字段
exclude = ["email"] #不顯示數據表的某些字段
#自定義頁面的標簽
labels = {"username":"用戶名","age":"年齡","email":"郵箱"}
#自定義在標簽后面顯示的提示幫助信息
help_texts = {"username":"請輸入正確的用戶名","email":"請輸入正確的郵箱"}
#自定義錯誤信息,用戶輸入錯誤時提示
error_messages = {"username":{"required":"用戶名不能為空"},"email":{"invalid":"郵箱不能為空"}}
#自定義標簽的類型,在這里把email這個輸入框的類型更改為email類型
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"})}看完這篇關于詳解Django中form表單與請求的生命周期操作的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。