Flask中整合的web表單處理

2021-09-11 22:32:00 字數 2172 閱讀 9394

為什麼使用flask-wtf?

request物件公開了所有客戶端傳送的請求資訊。特別是request.form可以訪問post請求提交的表單資料。

儘管flask的request物件提供的支援足以處理web表單,但依然有許多任務會變得單調且重複。

表單的html**生成和驗證提交的表單資料就是兩個很好的例子。

優勢:flask-wtf擴充套件使得處理web表單能獲得更愉快的體驗。該擴充套件是乙個封裝了與框架無關的wtforms包的flask整合。

常見的field類

passwordfield     密碼字段,自動將輸入轉化為小黑點

datefield   文字字段,格式要求為datetime.date一樣

intergerfield   文字字段,格式要求是整數

decimalfield   文字字段,格式要求和decimal.decimal一樣

floatfield   文字字段,值是浮點數

booleanfield   核取方塊,值為true或者false

radiofield   一組單選框

selectfield   下拉列表,需要注意一下的是choices引數確定了下拉選項,

但是和html中的標籤一樣,其是乙個tuple組成的列表,

可以認為每個tuple的第一項是選項的真正的值,而第二項是alias。

multipleselectfield 可選多個值的下拉列表

validator是驗證函式:

validator是驗證函式,把乙個字段繫結某個驗證函式之後,flask會在接收表單中的資料之前對資料做乙個驗證,如果驗證成功才會接收資料。驗證函式validator如下,具體的validator可能需要的引數不太一樣,這裡只給出一些常用的,更多詳細的用法可以參見wtforms/validators.py檔案的原始碼,參看每乙個validator類需要哪些引數:

基本上每乙個validator都有message引數,指出當輸入資料不符合validator要求時顯示什麼資訊。

email  

驗證電子郵件位址的合法性,要求正則模式是.+@([.@][^@]+)$

equalto  

比較兩個欄位的值,通常用於輸入兩次密碼等場景,可寫引數fieldname,

不過注意其是乙個字串變數,指向同表單中的另乙個欄位的欄位名

ipaddress  

驗證ipv4位址,引數預設ipv4=true,ipv6=false。如果想要驗證ipv6可以

設定這兩個引數反過來。

length  

驗證輸入的字串的長度,可以有min,max兩個引數指出要設定的長度下限和上限,

注意引數型別是字串,不是int!!

numberrange  

驗證輸入數字是否在範圍內,可以有min和max兩個引數指出數字上限下限,注意引數

型別是字串,不是i數里可以設定%(min)s和%(max)s兩個格式化部分,來告訴前端

這個範圍到底是多少。其他validator也有這種類似的小技巧,可以參看原始碼。

optional  

無輸入值時跳過同字段的其他驗證函式

required  

必填字段

regexp  

用正規表示式驗證值,引數regex=『正則模式』

url  

驗證url,要求正則模式是[a-z]+://(?p[/:]+)(?p:[0-9]+)?

(?p /.

)?$anyof  

確保值在可選值列表中。

noneof  

確保值不在可選值列表中

# 1). 編寫forms.py檔案, 定義乙個關於表單的類;(***注意: 一定要有提交的按鈕);

- 例項化表單類; form = registerform()

- 驗證表單內容是否提交成功? form.validate_on_submit():

- 獲取表單裡面的內容(兩種方法):

- 通過request物件獲取: request.form['key值'];

- 通過form物件獲取: form.key值.data

# 3). 表現邏輯檔案wtf.html中:

- 匯入wtf模組:

- 自動生成表單對應的html: }

flask專案Web表單 1

flask wtf拓展是flask的乙個模組,用於處理web表單。web表單用於通過http get或http post請求向服務端提交資料。flask wtf擴充套件的主要功能如下 1.生成表單元件的html 2.後台驗證 3.向web端返回錯誤資訊 4.在web頁面上顯示錯誤資訊 5.防止跨域訪...

Flask處理Web表單的實現方法

web表單是web應用程式的基本功能。它是html頁面中負責資料採集的部件。表單有三個部分組成 表單標籤 表單域 表單按鈕。表單允許使用者輸入資料,負責html頁面資料採集,通過表單將使用者輸入的資料提交給伺服器。在flask中,為了處理web表單,我們一般使用flask wtf擴充套件,它封裝了w...

Flask學習筆記2 Web表單

web表單是web應用程式的基本功能。它是html頁面中負責資料採集的部件。表單有三個部分組成 表單標籤 表單域 表單按鈕。表單允許使用者輸入資料,負責html頁面資料採集,通過表單將使用者輸入的資料提交給伺服器。在flask中,為了處理web表單,我們一般使用flask wtf擴充套件,它封裝了w...