html表單控制(flask_wtf)
透過flask_wtf控制html表單
安裝
pip3 install flask_wtf
forms.py內定義需要的form
import flask_wtf import FlaskForm 引入FlaskForm
import wtforms import StringField,PasswordField,BooleanField,SubmitField 引入欄位型態
import wtforms.validators import DataRequired 引入驗證DadaRequird方式
(class級別的LoginForm代表form內的字段 範例是三個級別的變量)
對應表單的欄位
username — StringField( label , 驗證)
表單submit 資料會存在class LoginForm各個function之中
username
password
remember_me
submit
form = LoginForm(csrf_enabled=False) 實體化實作出來 並傳到login.html
並CSRF暫時關閉
.html用 {{ }}方式使用form class
{{ form.username.label}}
{{ form.username() }} 變量放入username()函數中
但__init__.py url路由 必須是能吃method =[‘post’]
須做下列些修正
def login
處理GET / POST兩種method,處理上可以做分辨
例如 validate_on_submit() 帶往根目錄 redirect(‘/’)
以下的輸入 submit之後傳去了哪裡
傳到了form=LoginForm 這裏(Class)
取得form欄位的值
form.username.data,
form.password.data,
form.remember_me.data
url_for的使用
url_for(‘index’) 到def index 所綁定的url 根目錄/
如果url被更改,也會找得到新的url
url路徑更改,也找得到新的路徑 /index
template內也可以使用