您当前的位置: 首页 >  flask
  • 3浏览

    0关注

    214博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Flask(4):Flask中的request请求+COOKIE和SESSION+FILE文件上传

不愿透露姓名の网友 发布时间:2019-10-15 21:05:04 ,浏览量:3

文章目录
  • 一、Flask中请求的种类
  • 二、Django和Flask获取get和post请求的对比
  • 三、Flask的file上传
  • 四、Flask中的cookie
    • 1.了解Django中的cookie
    • 2.使用cookie
  • 五、Flask中的session
    • 1.了解Django中的session
    • 2.配置
    • 2.使用session
  • 六、cookie和session的区别

一、Flask中请求的种类

1.需要导入的模块

from flask import request

2.request的常用属性 在这里插入图片描述

二、Django和Flask获取get和post请求的对比 方式DjangoFlask查看方式request.methodrequest.methodget请求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放在内存中
关注
打赏
1657102503
查看更多评论
立即登录/注册

微信扫码登录

0.1125s