Flask数据交互

一、使用Flask处理表单

        表单是搜集用户数据信息的各种表单元素的集合区域,它的作用是实现用户和服务器的数据交互。通过表单搜集客户端输入的数据信息,然后提交到网站服务器进行处理(搜集录入/比对验证等)。Form表单是Web应用中最基础的一部分,Form-WTF扩展提供了良好的支持,这里介绍使用Flask处理通用表单和Flask-WTF表单处理方法

1、使用Flask处理通用表单

      对表单没有进行必要的保护措施

2、Flask-WTF表单处理方法

      1)启用CSRF保护

       Flask-WTF提供了对所有Form表单免受跨站请求伪造(CSRF)攻击的技术支持

编写config.py配置文件  :

SECRET_KEY = "zya123456789"
CSRF_ENABLED = True

      其中,SECRET_KEY用来建立加密的令牌,用于验证Form表单提交,可以设置复杂些。

    app.py文件

from flask import Flask,flash
from flask import url_for,render_template
# from flask_wtf.csrf import CSRFProtect
#导入定义的BaseLogin
from forms import BaseLogin
import config
app = Flask(__name__)
app.config.from_object(config)
#定义处理函数和路由规则,接收GET和POST请求
@app.route('/login',methods=('POST','GET'))
def baselogin():
    form=BaseLogin()
    #判断是否是验证提交
    if form.validate_on_submit():
        #跳转
        flash(form.name.data+'|'+form.password.data)
        return '表单数据提交成功!'
    else:
        #渲染
        return render_template('login.html',form=form)
@app.route('/')
def hello_world():
    return 'Hello World!'
if __name__ == '__main__':
    app.run(debug=True)

form.py文件

from flask_wtf import Form  #引入Form基类
from wtforms import StringField,PasswordField #引入Form元素父类
from wtforms.validators import Datarequired,Length #引入Form验证父类

class BaseLogin(Form):  #登录表单类,继承与Form类
    #用户名
    name=StringField('name',validators=[Datarequired(message="用户名不能为空")
        ,Length(6,16,message='长度位于6~16之间')],render_kw={'placeholder':'输入用户名'})
    #密码
    password=PasswordField('password',validators=[Datarequired(message="密码不能为空")
        ,Length(6,16,message='长度位于6~16之间')],render_kw={'placeholder':'输入密码'})

二、使用flask上传文件

三、Cookie的使用

      Cookies是一种能够让网站服务器把少量数据存储到客户端的硬盘或者内存,或是从客户端的硬盘读取数据的一种技术。当再次浏览某网站时,浏览器将存放于本地的用户信息递交给服务器,服务器就可以识别用户的身份。

四、Session的使用

      Session是基于Cookie实现的,保存在服务端的键值对中

五、钩子函数的使用

      有时需要在正常执行代码的前、中、后时期,强行执行一段我们想要执行的代码,实现这种功能函数,就称为钩子函数。其实质就是用特定装饰器装饰的函数

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐