html表單控制(flask_wtf)

Steven Wang
Oct 21, 2020

--

透過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內也可以使用

--

--

Steven Wang
Steven Wang

No responses yet