首页 > 代码库 > (九)表单类

(九)表单类

在这里使用Flask的插件Flask-WTF,每个Web 表单都由一个继承自Form 的类表示。这个类定义表单中的一组字段,每个字段都用对象表示。字段对象可附属一个或多个验证函数。验证函数用来验证用户提交的输入值是否符合要求。

#下面的代码是一个简单的Web 表单,包含一个文本字段和一个提交按钮。

from flask.ext.wtf import Form
from wtforms import StringField, SubmitField
from wtforms.validators import Required

class NameForm(Form):
  name = StringField(‘姓名, validators=[Required()])
  submit = SubmitField(‘提交‘)
  
‘‘‘
Flask-WTF插件
作用:用于解决CSRF(跨站点请求伪造)的问题
链接:https://flask-wtf.readthedocs.io/en/stable/
安装:pip install Flask-WTF
‘‘‘
#1、py文件:test_forms.py 中的代码:
#coding:utf-8
from flask import Flask, render_template
from forms import LoginForm
app = Flask(__name__)

@app.route(‘/‘)
def login():
    ‘‘‘访问首页‘‘‘
    form = LoginForm()
    return render_template("from1.html",form=form)

app.config[‘SECRET_KEY‘] = ‘ddu384783274*%%Hgdiwre@#$%^&*de‘

if __name__ == ‘__main__‘:
    app.run(debug=True)
    
#2、py文件:forms.py 中的代码
#coding:utf-8
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, SelectField, RadioField,TextAreaField,     DateField, BooleanField
from wtforms.validators import DataRequired
from wtforms.widgets import CheckboxInput, PasswordInput

class LoginForm(FlaskForm):
    ‘‘‘定义登录表单‘‘‘
    username = StringField(‘用户名‘,validators=[DataRequired()])
    password = StringField(‘密码‘, validators=[DataRequired()], widget=PasswordInput())
    language = SelectField(‘编程语言‘,
        choices = [(‘cpp‘,‘c++‘),(‘py‘,‘python‘),(‘java‘,‘Java‘)])
    code = TextAreaField(‘代码‘)
    date = DateField(‘日期‘)
    is_checked = BooleanField(‘是否已经通过验证‘)
    submit = SubmitField(‘登录‘)


本文出自 “Fresh Air Team” 博客,请务必保留此出处http://freshair.blog.51cto.com/8272891/1927429

(九)表单类