Flask --WTF 处理表单

 表单

什么是表单?表单就是收集用户信息的各种表单元素的的集合区域,它的作用是实现用户和服务器的数据交互,通过表单收集客户端输入的数据信息。然后提交到站服务器端进行处理,Form表单是Web应用中最基础的一部分,为了能处理From 表单,Flask-wtf扩展提供了良好的支持。

 

1.使用Flask处理通用表单

说明:

Flask请求对象包含客户端发出的所有请求信息,其中request.form()能获取POST中提交表的数据,尽管Flask的请求对象提供的信息足够处理web的表单,但有些任务很单调,而且需要重复操作。

示列:

from flask import Flask,render_template,views,request

app=Flask(__name__)

@app.route('/login')
def login():
    if request.method=='GET': #如果访问为GET方法,返回应答信息。
        return '这是GET请求'
    else:
        return '这是POST请求'
@app.route('/')
def hello_word():
    return  render_template('index.html')
if __name__ == '__main__':
    app.run(debug=True)

创建一个渲染模块

<div>
    <form action="" method="post">
        <dl>
            <dt>用户名:</dt>
            <input type="text" name="name">
            <dt>密码:</dt>
            <input type="password" name="password">
        </dl>
        <input type="submit" value="登录">
    </form>
</div>

说明:

在上面的过程中,对表单没有进行必要的保护措施,很容易被人利用,控制用户在当前已经登录的Web 应用程序上执行非本意的操作,因此,在实际部署服务器上的代码时候不建议使用这个方式处理表单,推荐使用Flask-WTF方式处理表单。

1.1.Flask-WTF安装

pip  install flask-wtf

 

1.2启用CSRF启用

说明:

Flask-WTF提供了对所有From表单免受跨站请求伪造攻击的技术支持,通过动态的token令牌的方式。

import os
SECRET_KEY=os.urandom(24)    #生成SECRET_KEY(密钥)
CSRF_ENABLED=True   #开启CSRF保护

示列:

创建一个表单

from flask_wtf import Form   #引入基类
from wtforms import StringField,PasswordField  #引入From父类
from wtforms.validators import DataRequired    #引入From验证父类

class MyForm(Form):
    name=StringField('name',validators=[DataRequired(message='这是在传递反馈的信息')])
    password = PasswordField('password', validators=[DataRequired(message='密码不能为空')])


创建一个py.文件


from flask import Flask,render_template,url_for,redirect
from form_wtf import MyForm
import config_s
app=Flask(__name__)
app.config.from_object(config_s)  #添加配置文件

@app.route('/login',methods=('GET','POST'))
def login():
    form=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值