Django form表單與請求的生命週期步驟詳解

2022-09-29 13:42:10 字數 1670 閱讀 7685

django中請求的生命週期

http請求及服務端響應中傳輸的所有資料都是字串

步驟fbv

乙個url對應乙個檢視函式

在url匹配成功之後,會直接執行對應的檢視函式。

cbv乙個url對應乙個類

url匹配成功找到檢視函式中對應的類,然後這個類回到請求頭中找到對應的request.method如果客戶端以post的方式提交請求,就執行類中的post方法如果客戶端以get的方式提交請求,就執行類中的get方法

步驟:

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"www.cppcns.com) #獲取上傳的檔案的檔名

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 =

#自定義在標籤後面顯示的提示幫助資訊

help_texts =

#自定義錯誤資訊,使用者輸入錯誤時提示

error_messages = ,"email":}

#自定義標籤的型別,在這裡把email這個輸入框的型別更改為email型別

from django import fields as field_widget

field_classes = {}"email":fi程式設計客棧eld_widget.emailfield}

#自定義外掛程式(attrs為外掛程式的屬性)

from django.forms import widgets as formwidget

widgets = )}

總結

django form表單驗證

常用的field 使用field可以是對資料驗證的第一步。你期望這個提交上來的資料是什麼型別,那麼就使用什麼型別的field。charfield 用來接收文字。引數 max length 這個字段值的最大長度。min length 這個字段值的最小長度。required 這個字段是否是必須的。預設是...

djangoform表單使用驗證碼

直接安裝 pip install django captcha django自動幫我們安裝了相關的依賴庫six olefile和pillow,其中的pillow是大名鼎鼎的繪圖模組。註冊captcha django.contrib.admin django.contrib.auth django.c...

PHP的表單獲取與HHTP請求方式

php獲取表單資料的方法主要有get post和request三種方式。注意,提交表單的方法只有post和get兩種。post和get都可以向web伺服器傳輸資料。get與post對比 對比get post 附加形式 url之後 html header 引數處理方式 url編碼 無url編碼 傳輸資...