Flask中表單處理(九)

2022-09-22 19:00:48 字數 2552 閱讀 4515

在flask的應用程式中也提供了對錶單的處理,對錶單的處理需要安裝第三方的庫,安裝的命令為:

pip  install flask-wtf

安裝成功後,這裡以一個系統的註冊為案例,來演示表單在flask框架裡的應用。在應用表單前首先需要

匯入對應的庫,新建立forms的檔案,改原始碼為:

#

!/usr/bin/env python

#-*-coding:utf-8 -*-

from wtforms import *

from wtforms.validators import *

class

registerform(form):

username=stringfield(validators=[

length(min=3,max=10,message='

使用者名稱長度是3位至10位之間

')])

password=stringfield(validators=[

length(min=3,max=12,message='

密碼長度在3至13位之間')

])

在flask的應用程式中,匯入forms的檔案,見原始碼:

from flask import

flask,jsonify,request,render_template,url_for,redirect)'

/index/')

defindex():

return

'hello flask!''

/register/

',methods=['

get','

post'])

defregister():

if request.method=='

get'

:

return render_template('

register.html')

else

: registerform=registerform(request.form)

ifregisterform.validate():

return redirect(url_for(endpoint='

index'))

else

:

return

false

if__name__ == '

__main__':

在這個案例中,對請求的表單做了處理,當然也可以使用表單來渲染模板檔案,那麼就需要在get請求的時候

例項化registerform,見修改後的原始碼:

/register/

',methods=['

get','

post'])

defregister():

if request.method=='

get'

: registerform=registerform(request.form)

return render_template('

register.html

',registerform=registerform)

else

: registerform=registerform(request.form)

ifregisterform.validate():

return redirect(url_for('

index'))

else

:

return false

見模板檔案的原始碼:

doctype html

>

<

html

lang

="en"

>

<

head

>

<

meta

charset

="utf-8"

>

<

title

>title

title

>

head

>

<

body

>

<

center

>

<

form

action

=""method

="post"

>

<

p>

使用者名稱:}

p>

<

p>

密碼: }

p>

<

p>

<

input

type

="submit"

value

="提交"

>

p>

form

>

center

>

body

>

html

>

flask框架(九) 請求和響應擴充套件以及中介軟體

一 請求響應擴充套件 每一次訪問都執行 注意請求之前按照順序執行 請求之後按照書寫順序倒序執行 請求之前執行 def process request1 args kwargs print process request1 return none 如果不是return none 訪問就被攔截了,就不會執行...