真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Flask如何處理Web表單-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Flask如何處理Web表單的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

站在用戶的角度思考問題,與客戶深入溝通,找到鼓樓網(wǎng)站設(shè)計(jì)與鼓樓網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋鼓樓地區(qū)。

web表單是web應(yīng)用程序的基本功能。

它是HTML頁面中負(fù)責(zé)數(shù)據(jù)采集的部件。表單有三個(gè)部分組成:表單標(biāo)簽、表單域、表單按鈕。表單允許用戶輸入數(shù)據(jù),負(fù)責(zé)HTML頁面數(shù)據(jù)采集,通過表單將用戶輸入的數(shù)據(jù)提交給服務(wù)器。

在Flask中,為了處理web表單,我們一般使用Flask-WTF擴(kuò)展,它封裝了WTForms,并且它有驗(yàn)證表單數(shù)據(jù)的功能。

WTForms支持的HTML標(biāo)準(zhǔn)字段

字段對(duì)象說明
字段對(duì)象說明
StringField文本字段
TextAreaField多行文本字段
PasswordField密碼文本字段
HiddenField隱藏文件字段
DateField文本字段,值為 datetime.date 文本格式
DateTimeField文本字段,值為 datetime.datetime 文本格式
IntegerField文本字段,值為整數(shù)
DecimalField文本字段,值為decimal.Decimal
FloatField文本字段,值為浮點(diǎn)數(shù)
BooleanField復(fù)選框,值為 True 和 False
RadioField一組復(fù)選框
SelectField下拉列表
SelectMutipleField下拉列表可選擇多個(gè)值
FileField文件上傳字段
SubmitField表單提交按鈕
FormField把表單作為字段嵌入另一個(gè)表單
FieldList一組指定類型的字段

WTForms常用驗(yàn)證函數(shù)

驗(yàn)證函數(shù)說明
DateRequired確保字段中有數(shù)據(jù)
EqualTo比較兩個(gè)字段的值,常用于比較兩次密碼的輸入
Length驗(yàn)證輸入的字符串長度
NumberRange驗(yàn)證輸入的值在數(shù)字范圍內(nèi)
URL驗(yàn)證URL
AnyOf驗(yàn)證輸入值在可選列表中
NoneOf驗(yàn)證輸入值不在可選列表中

使用 Flask-WTF 需要配置參數(shù) SECRET_KEY

CSRF_ENABLED是為了CSRF(跨站請(qǐng)求偽造)保護(hù)。 SECRET_KEY用來生成加密令牌,當(dāng)CSRF激活的時(shí)候,該設(shè)置會(huì)根據(jù)設(shè)置的密匙生成加密令牌。在HTML頁面中直接寫form表單:


  
  
  

視圖函數(shù)中獲取表單數(shù)據(jù):

from flask import Flask,render_template,request

@app.route('/login',methods=['GET','POST'])
def login():
  if request.method == 'POST':
    username = request.form['username']
    password = request.form['password']
    print username,password
  return render_template('login.html',method=request.method)123456789

使用 Flask-WTF 實(shí)現(xiàn)表單

配置參數(shù)


app.config['SECRET_KEY'] = 'SECRET_KEY'1

模板頁面



 #設(shè)置csrf_token
 {{ form.csrf_token() }}
 {{ form.us.label }}
 

{{ form.us }}

 {{ form.ps.label }}  

{{ form.ps }}

 {{ form.ps2.label }}  

{{ form.ps2 }}

 

{{ form.submit() }}

 {% for x in get_flashed_messages() %}    {{ x }}  {% endfor %} 1234567891011121314 視圖函數(shù) #coding=utf-8 from flask import Flask,render_template,\   redirect,url_for,session,request,flash #導(dǎo)入wtf擴(kuò)展的表單類 from flask_wtf import FlaskForm #導(dǎo)入自定義表單需要的字段 from wtforms import SubmitField,StringField,PasswordField #導(dǎo)入wtf擴(kuò)展提供的表單驗(yàn)證器 from wtforms.validators import DataRequired,EqualTo app = Flask(__name__) app.config['SECRET_KEY']='1' #自定義表單類,文本字段、密碼字段、提交按鈕 class Login(FlaskForm):   us = StringField(label=u'用戶名',validators=[DataRequired()])   ps = PasswordField(label=u'密碼',validators=[DataRequired(),EqualTo('ps2','err')])   ps2 = PasswordField(label=u'確認(rèn)密碼',validators=[DataRequired()])   submit = SubmitField(u'提交') @app.route('/login') def login():   return render_template('login.html') #定義根路由視圖函數(shù),生成表單對(duì)象,獲取表單數(shù)據(jù),進(jìn)行表單數(shù)據(jù)驗(yàn)證 @app.route('/',methods=['GET','POST']) def index():   form = Login()   if form.validate_on_submit():     name = form.us.data     pswd = form.ps.data     pswd2 = form.ps2.data     print name,pswd,pswd2     return redirect(url_for('login'))   else:     if request.method=='POST':       flash(u'信息有誤,請(qǐng)重新輸入!')     print form.validate_on_submit()   return render_template('index.html',form=form) if __name__ == '__main__':   app.run(debug=True)

感謝各位的閱讀!關(guān)于“Flask如何處理Web表單”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


分享文章:Flask如何處理Web表單-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://weahome.cn/article/gpepi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部