文章目录
一、Flask中请求的种类
- 一、Flask中请求的种类
- 二、Django和Flask获取get和post请求的对比
- 三、Flask的file上传
- 四、Flask中的cookie
- 1.了解Django中的cookie
- 2.使用cookie
- 五、Flask中的session
- 1.了解Django中的session
- 2.配置
- 2.使用session
- 六、cookie和session的区别
1.需要导入的模块
from flask import request
2.request的常用属性
举例:flask获取post请求
获取get请求方式基本同Django,但是获取post消息需要注意:flask默认不支持post,需要在路由处自己加入,推荐最好也加入get请求 例如:
1.文件属性
方法意义file.filename获取文件名字file .content_length文件长度file.content_type文件类型file.headers请求头部file.mimetype内容类型file.mimetype_params类型的参数file.name字段名字2.举例 例如我们在前端页面使用post表单写了一个上传文件的input
后端获取,并将获得的数据存入项目某文件
@app.route('/update_userinfo/', methods=['post', 'get'])
def update_userinfo():
if request.method == 'POST':
# 获取文件,此时是图片
photo = request.files.get('photo')
#----------------存入图片至本地
file_name=photo.feilename#获取图片名字
photo_path=os.path.join('img',file_name)#将图片路径拼接,img/1.jpg
path=os.path.join(STATIC_PATH,photo_path)
photo.save(path)
return render_template('update_userinfo.html', **locals())
四、Flask中的cookie
1.了解Django中的cookie
知识链接:https://blog.csdn.net/qq_40558166/article/details/101107225
2.使用cookie1.设置cookie
①导包,使用重定向
from flask import redirect
response=redirect('/index')
②设置cookie
response.set_cookie('key',value)
2.获取cookie
key=request.cookies.get('key')
3.删除cookie
①导包,使用重定向
from flask import redirect
response=redirect('/login')
②删除cookie
response.delete_cookie("key")
五、Flask中的session
1.了解Django中的session
知识链接:https://blog.csdn.net/qq_40558166/article/details/101107225
2.配置- django中settings.py 中有secretkey session_id session内容
- flask中没有,需要配置,因为需要session需要加密,因此必须配置
配置方法:
from flask import Flask, render_template
app = Flask(__name__, template_folder='templates')
app.secret_key='asdaaasfa' # 随便写
2.使用session
flask中的session类似一个字典,因此可以使用字典中的一些方法 1.设置session
from flask import session
session["key"] = "value"
2.获取session
key=session.get('key')
3.删除session
cookie和session都是会话机制
- Cookie
- 优点:成本低,能够解决浏览器访问无状态的问题
- 缺点:安全性低,cookie 下发到用户,放在用户本地
- session
- 优点:解决了cookie安全性的问题,
- 缺点:成本高,需要放在服务器上面,通常放在数据库中,flask放在内存中