1 所有web:请求对象,响应对象(go,java,ptyhon)
django:request(每个请求一个request),新手四件套
flask:requset:全局的,但是也是每个请求一个request,新手三件套
2 flask请求对象,全局的request
request.method 请求的方法
request.args get请求提交的数据
request.form post请求提交的数据
request.values post和get提交的数据总和
request.cookies 客户端所带的cookie
request.headers 请求头
request.path 不带域名,请求路径
request.full_path 不带域名,带参数的请求路径
request.url 带域名带参数的请求路径
request.base_url 带域名请求路径
request.url_root 域名
request.host_url 域名
request.host 服务端地址
request.files
obj = request.files['the_file_name']
obj.save('/var/www/uploads/' + secure_filename(f.filename))
3 flask的响应
-四件套:
-1 直接返回字符串
-2 返回模板:render_template
-3 返回重定向:redirect,
-4返回json格式:jsonify
-响应中写cookie
res = make_response('home')
res.set_cookie('yyy', 'yyy', path='/home')
# 删除cookie
# res.delete_cookie('key')
-响应头中写内容
res = make_response('home') # res 就是响应对象
res.headers['xxx'] = 'xxx'
4 session
flask中得session,没有在服务端存储数据的---》后期扩展,可也把session存到redis中
flask中是全局session
from flask import session
-放值:session['key']=value
-取值:session.get('key')
-删除值:session.pop('username', None)
session的运行机制
'''
django
1 生成一个随机字符串
2 把数据保存到djagno-session表中
3 把随机字符串返回给前端--》当cookie存到浏览器中了--》浏览器再发请求,携带cookie过来
4 根据随机字符串去表中查---》转到request.session中
flask
1 把数据加密转成字符串: eyJuYW1lIjoibHF6In0.ZMnbJw.ZUceSaD0kGnU97tu9ZWm3380r00
2 以cookie形式返回给前端---》保存到浏览器中
3 浏览器再发请求,携带cookie过来
4 加密符串---》解密---》放到session对象中
'''
源码分析,看运行机制
-flask默认使用:SecureCookieSessionInterface作为session的类
-请求来了,
-客户端带了cookie---》取出cookie 中session对应的值
-使用解密方式对它进行解密
-放到session对象中
-请求走了
-把用户放到session中得数据
-加密---》转成字符串--》以cookie形式返回给前端
-SecureCookieSessionInterface的方法e:
-open_session:请来来了用
-save_session:请求走了用
文章来源地址https://www.toymoban.com/news/detail-627153.html
文章来源:https://www.toymoban.com/news/detail-627153.html
到了这里,关于flask-----请求和响应,session的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!