Flask 的cookie与session

Flask实现session的思路

  1. 客户端携带用户信息请求服务端验证。

  2. 服务端收到用户信息验证成功后,服务端再把用户信息经过严格的加密加盐生成session信息。并且把刚刚生成的session信息作为cookie的内容返回给客户端。

  3. 客户端收到以session信息为内容的cookie保存到本地。

  4. 客户端再次请求的时候会携带以session信息为内容的cookie去访问服务端,服务端取出session信息经过解密得到用户的信息

Flask实现cookie与session

from flask import Flask
app = Flask(__name__)

cookies

from flask import Flask, make_response, request
@app.route('/')
def index():
    response = make_response('ok')    #先要创建一个response对象
    response.set_cookie('key','value')  #用set_cookie设置cookies
    cookies = request.cookies #获取所有cookies且以字典的形式的返回
    cookies_key = request.cookies['key']  #因为返回是cookies的字典对象所以我们可以用字典取值取出指定的cookie
    return response

session

# 要用session,必须app配置一个密钥
app.secret_key  =  "adas"
app.config['SESSION_COOKIE_NAME']="session_key"  #这是配置网页中sessions显示的key

@app.route("/",)
def index():
    #如何设置sessoion
    # 1 导入session
    # 2 给sessoion设置值
    #session本身就是个字典相当于把一个username:xxx键值对丢进去,然后Flask会把整个字典结合secret_key进行加密
    #1.生成一个随机的字符串 
    #2 往数据库存 
    #3 写入cookie返回浏览器
    session['name'] = "xxx"
    return "ok"

@app.route("/login")
def login():
    # sessions = session #获取所有session
    session_name = session["name"]#获取指定session
    # session.pop('name')  #删除session原理和字典的删除方式一样
    return "login"

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

猜你喜欢

转载自www.cnblogs.com/baohanblog/p/12521487.html
今日推荐