Flask WTF處理表單

2021-10-20 22:24:58 字數 2680 閱讀 3582

#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樣...