web 表單是在任何乙個 web 應用程式中最基本的一部分。我們將使用表單允許使用者寫文章,以及登入到應用程式中。
乙個名為 flask-wtf 的擴充套件,將 wtforms 整合到 flask 程式,可以幫助完成很多事情
表單類表單的建立,可以通過繼承從 flask-wtf 匯入的form父類實現
from flask.ext.wtf import form # 表單類,從第三方擴充套件的命名空間 匯入
表單類中需要定義 屬性/字段,值是字段型別類,就是將要在 html 中顯示的表單各個字段,其實就是對 html 表單各種標籤的包裝
from wtforms import stringfield, booleanfield, submitfield, passwordfield, textareafield, selectfield # 字段型別類,字串、布林值、提交、密碼、文字區域、選擇框
驗證器列表,檢查使用者填寫表單時輸入的內容是否符合我們的期望,有多個驗證器時,需要同時通過驗證
from wtforms.validators import datarequired, required, length, email , regexp, equalto # 驗證器,直接從 wtforms.validators 匯入
如乙個簡單表單類:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @time : 2017/7/31 13:25
# @file : form.py
from flask_wtf import form
from wtforms import stringfield, passwordfield, booleanfield, submitfield
from wtforms.validators import required, length, email
#通過繼承form類實現
class
form_d
(form):
#對應html表單中的name欄位,第二個引數為乙個驗證函式
name=stringfield('name',validators=[required()])
#對應html表單中的pwd欄位,第二個引數為乙個驗證函式
pwd=stringfield('pwd',validators=[required()])
submit=submitfield('submit')
簡單表單登入驗證:
from flask import flask,render_template,request
from form import form_d
from blue import blue
defindex
():return render_template('login.html')
#設定name和pwd的值
name='123'
password='123'
deflogin
(): forms=form_d()
pwd=forms.pwd.data
username=forms.name.data
if pwd==password and username==name:
return render_template('o.html')
else:
return
'eer'
if __name__ == '__main__':
對應登入頁面
lang="en">
charset="utf-8">
titletitle>
head>
action="/login"
method="post">
請輸入賬號span>
type="text"
name="name"
id="name"
placeholder="name">
請輸入密碼span>
type="password"
name="pwd"
id="pwd"
placeholder="password">
type="submit"
name="submit">
form>
body>
html>
Flask中整合的web表單處理
為什麼使用flask wtf?request物件公開了所有客戶端傳送的請求資訊。特別是request.form可以訪問post請求提交的表單資料。儘管flask的request物件提供的支援足以處理web表單,但依然有許多任務會變得單調且重複。表單的html 生成和驗證提交的表單資料就是兩個很好的例...
Flask處理Web表單的實現方法
web表單是web應用程式的基本功能。它是html頁面中負責資料採集的部件。表單有三個部分組成 表單標籤 表單域 表單按鈕。表單允許使用者輸入資料,負責html頁面資料採集,通過表單將使用者輸入的資料提交給伺服器。在flask中,為了處理web表單,我們一般使用flask wtf擴充套件,它封裝了w...
flask 使用Flask WTF處理表單
我的理解是flask wtf與html檔案的關係就如同sqlalchemy與資料庫之間的關係。通過python form類,生成html 並在html模板檔案中通過 變數的方式引用這些生成的html 好處就是可以使用python類管理html的表單,而不需要自己去敲html flask wtf fl...