Flask:cookie和session

一 cookie和session

链接:https://www.cnblogs.com/xiaoyuanqujing/articles/11644065.html

一 什么是:cookie和session

cookie:存放在客户端的键值对
session:存放在服务端的键值对
token:存放在客户端,通过算法来校验

二.cookie的使用

from flask import Flask, make_Response,request

app = Flask(__name__)


@app.route('/hello')
def say():
    response = make_response('hello')
    # 设置cookie:make_response对象.set_cookie(k,v)
    response.set_cookie('name','owen')

    # 获取cookie:request.cookies.get(k)
    username = request.cookies.get('name')
    print(username)

    # 删除cookie:make_response对象.delete_cookie(k)
    response.delete_cookie('name')

    return response
if __name__ == '__main__':
    app.run()

三 session 的使用

1.session源码的执行流程

-save_seesion
    -响应的时候,把session中的值加密序列化放大到了cookie中,返回到浏览器中
-open_session
    -请求来了,从cookie中取出值,反解,生成session对象,以后再视图函数中直接用sessoin就可以了。

2.使用注意前提

前提:在使用session之前必须现在设置一下密钥
# app.secret_key="asdas" #值随便

3.使用

#1.设置session:session[k] = v
from flask import Flask, session
import os

app = Flask(__name__)

app.secret_key = 'sdfsdfsdfsdf'
@app.route('/ss')
def set_session_info():
    # 1.设置session:session[k] = v
    session['username'] = 'mark'
    session['userphone'] = '123456'
    session.permanent = True  # 开启设置有效期,默认为31天后过期
    # 2. 获取session:session.get(k)
    username = session.get('username')
    print(username)

    # 3. session.pop(k)
    session.pop('username')
    return 'Hello World!'
原文地址:https://www.cnblogs.com/tfzz/p/11845477.html