文章目录
一、Flask中请求的种类
1.需要导入的模块
from flask import request
2.request的常用属性
二、Django和Flask获取get和post请求的对比
方式 | Django | Flask |
---|---|---|
查看方式 | request.method | request.method |
get请求 | request.GET.get() | request.args.get() |
post请求 | request.POST.get() | request.form.get() |
举例:flask获取post请求
获取get请求方式基本同Django,但是获取post消息需要注意:flask默认不支持post,需要在路由处自己加入,推荐最好也加入get请求
例如:
三、Flask的file上传
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.使用cookie
1.设置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和session都是会话机制
- Cookie
- 优点:成本低,能够解决浏览器访问无状态的问题
- 缺点:安全性低,cookie 下发到用户,放在用户本地
- session
- 优点:解决了cookie安全性的问题,
- 缺点:成本高,需要放在服务器上面,通常放在数据库中,flask放在内存中