Fork me on GitHub

Flask学习笔记(七)-Flask之Cookie和Session

一、前言概述

为什么要说Cookie和Session呢?
答:因为http请求是无状态的,怎么理解呢?当你访问博客园站时,如果你没有Cookie或者Session,博客园就认为你是一个没有登录的用户。如果你有Cookie或Session,那么博客园就知道你登录了,并且知道你是谁。所以可以把跟你相关的资料返回给你
两者的区别:
答:Cookie是明文,Session是加密的Cookie。

二、Cookie的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#Cookie的使用
from flask import Flask,Response,request
app=Flask(__name__)
@app.route("/set_cookie")
def set_cookie():
    response=Response("set cookie success")
    response.set_cookie("user_id","123")
    return response
 
@app.route("/get_cookie")
def get_cookeie():
    cookies=request.cookies
    if cookies.get("user_id")=="123":
        return "尊敬的用户你好,你的cookies是"+ str(cookies)
    else:
        return "你不是vip,请先获取身份"
 
if __name__ == '__main__':
    app.run(debug=True,port=5000)

第一次首先访问/get_cookie地址,会发现你没有Cookie给你返回一个你不是VIP,请先获取身份
但是当我们首先访问/set_cookie,我们就会获得一个cookie,然后我们在访问/get_cookie地址,就可以成功的显示尊敬的用户您好了

三、session的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#session的使用
from flask import Flask, session
app = Flask(__name__)
# !!!你需要设置一个SECRET_KEY用来加密Cookie
app.config["SECRET_KEY"] = "123"
 
@app.route("/set_session")
def set_session():
    session["user_name"] = "xiaoming"
    return "设置session成功" + session["user_name"]
 
@app.route("/get_session")
def home():
    if session.get("user_name") == "xiaoming":
        return "尊敬的用户,登录成功"
    else:
        return "请先登录好吗?"
 
if __name__ == "__main__":
    app.run(debug=True,port=5001)
  • Session的使用方式整体和Cookie是一样的。
  • 需要注意的是使用Session前,必须要进行设置SECRET_KEY,用来加密Cookie

  

  

posted @   橘子偏爱橙子  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示