#encoding:utf-8
from flask import flask
from flask import flash
from flask import url_for
from flask import render_template
from flask_wtf.csrf import csrfprotect
# 匯入定義的baselogin
from form import baselogin
import config
# 配置檔案初始化
'/login'
, methods=
['get'
,'post'])
defbaselogin()
: form = baselogin(
)# 進行表單驗證
if form.validate_on_submit():
# 判斷驗證提交是否通過
# 訊息閃現
flash(form.name.data+
'|'+form.password.data)
return
'訊息提交成功'
else
:# 渲染
return render_template(
'login.html'
, form=form)
'/')
defindex()
:return
'hello world!'
if __name__ ==
'__main__'
:true
, host=
'127.0.0.1'
, port=
'4399'
)
config.py
#coding:utf-8
import os
secret_key = os.urandom(24)
# 生成金鑰
csrf_enabled =
true
# 開啟csrf保護
form.py
# 引入from基類
from flask_wtf import form
# 引入from元素父類
from wtforms import stringfield
from wtforms import passwordfield
# 引入from驗證父類
from wtforms.validators import datarequired
from wtforms.validators import length
# 登入表蛋類,繼承於from類
class
baselogin
(form)
:# 使用者名稱
name = stringfield(
'name'
, validators=
[datarequired(message=
"使用者名稱不能為空"
), length(6,
16, message=
"使用者名稱長度位於6到16位之間")]
, render_kw=
)# 密碼
password = passwordfield(
'password'
, validators=
[datarequired(message=
"密碼不能為空"
), length(6,
16, message=
"密碼長度位於6到16位之間")]
, render_kw=
)
login.html
lang
="en"
>
>
charset
="utf-8"
>
>
flase_wtftitle
>
type
="text/css"
>
.div1
.input
.button
style
>
head
>
>
class
="div1"
>
action
="login"
method
="post"
>
}
}style
="color
: red
">
}span
>
}style
="color
: red
">
}span
>
type
="submit"
value
="登入"
class
="input button"
>
form
>
div>
body
>
html
>
使用Flask WTF來處理表單
在flask中,為了處理web表單,一般使用flask wtf擴充套件,它封裝了wtfforms,並且有驗證表單資料的功能。可以使用flash訊息閃回把訊息傳給模板 from flask import flask,render template,request,flash cwtnice 目的,實現...
flask 使用Flask WTF處理表單
我的理解是flask wtf與html檔案的關係就如同sqlalchemy與資料庫之間的關係。通過python form類,生成html 並在html模板檔案中通過 變數的方式引用這些生成的html 好處就是可以使用python類管理html的表單,而不需要自己去敲html flask wtf fl...
表單處理Flask WTF 三
表單域是可呼叫的,呼叫時從模板渲染它們到html。假設檢視函式傳遞乙個引數名為form的nameform例項給模板,模板就會生成乙個簡單的html表單,如下所示 為了改變表單的外觀顯示,任何傳送給該表單域的引數會被轉換為html表單域屬性 例如,你可以給定表單域id或class屬性,然後定義css樣...