Flask数据交互
2021/7/17 23:35:57
本文主要是介绍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实现的,保存在服务端的键值对中
五、钩子函数的使用
有时需要在正常执行代码的前、中、后时期,强行执行一段我们想要执行的代码,实现这种功能的函数,就称为钩子函数。其实质就是用特定装饰器装饰的函数。
这篇关于Flask数据交互的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南