第四章 Web表單

2022-08-30 09:42:10 字數 1169 閱讀 1983

request.form能獲取post請求中提交的表單資料。

flask-wtf可以把處理web表單的過程變成一種愉悅的體驗。

使用flask-wtf時,每個web表單都由乙個繼承自form的類表示。每個類定義表單中的一組字段,每個欄位都用物件表示。

表單字段是可呼叫的,在模板中呼叫後會渲染成html

可以使用bootstrao中預定義好的表單樣式渲染整個flask-wtf表單:

}

wtf.quick_form()函式引數為flask-wtf表單物件,使用boootstrap的預設樣式渲染傳入的表單。

把post加入方法列表很有必要,因為將提交表單作為post請求進行處理更加便利,表單也可以作為get請求提交,不過get請求沒有主題,提交的資料以查詢字串的形式附加到url中,可在瀏覽器的位址列中看到。

重新整理頁面時瀏覽器會重新傳送之前已經傳送過的最後乙個請求。如果這個請求是乙個包含表單資料的post請求,重新整理頁面後會再次提交表單。所以,不要讓post作為最後乙個響應。

使用重定向作為post請求的響應,而不是使用常規響應。

重定向是特殊的響應,響應內容是url,而不是包含html**的字串。瀏覽器收到這種響應時,會向重定向的url發起get請求,顯示頁面的內容。所以,現在最後乙個請求是get請求,這個技巧稱為post/重定向/get模式

程式可以把資料儲存自使用者會話中,在請求之間「記住」資料。使用者會話是一種私有儲存,存在於每個連線到伺服器的客戶端中。

使用者會話,是請求上下文的變數,名為session。預設情況下,使用者會話儲存在客戶端cookie中,使用設定的secret——key進行加密簽名,如果篡改了cookie的內容,簽名就會失效,會話也會隨之失效。

請求完成後,有時需要讓使用者知道狀態發生了變化,這裡可以使用確認訊息、警告或者錯誤提醒。

程式使用的模板要渲染flash()的這些訊息。get_flashed_messages()用來獲取並渲染訊息。

在模板中使用迴圈是因為在之前的請求迴圈中沒次呼叫flash()函式都會生成乙個訊息,所以可能有多個訊息在排隊等待顯示,get_flashed_messages()函式獲取的訊息在下次呼叫時不會再次返回,因此flasj訊息只顯示一次,然後就消失了。

第四章 表單

表單是我們平常編寫web應用常用的工具,通過表單我們可以方便的讓客戶端和伺服器進行資料的互動。對於以前開發過web的使用者來說表單都非常熟悉,但是對於c c 程式設計師來說,這可能是乙個有些陌生的東西,那麼什麼是表單呢?表單是乙個包含表單元素的區域。表單元素是允許使用者在表單中 比如 文字域 下拉列...

Flask學習筆記 第四章WEB表單

參考書目為 flask web 開發 github倉庫點這裡 輸入name之後在重新整理介面提示乙個警告,重複此前的操作。前乙個請求包含表單資料的post請求 name 重新整理頁面會重新提交單 web應用的最後乙個請求最好別是post請求 重定向會傳送get請求 post請求資料的儲存,post請...

第四章第四天JQuery表單驗證

input 匹配所有input textarea select 和button 元素 myform input 選取表單中所有的input select和button元素 text 匹配所有單行文字框 myform text 選取email 和姓名兩個input 元素 password 匹配所有密碼...