django和flask中保持状态的比较(session和cookie)

本文对比了Django和Flask框架中如何使用session和cookie来保持用户状态。在Flask中,设置cookie和session需要配置加密密钥,而在Django中则默认配置。同时,文章探讨了Django和Flask中清除session的不同方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法比较,设置cookie都必须建立在response或其子类的基础上.



flask

    cookie设置

from flask import Flask, make_response
# 创建response对象
    response = make_response('index')

    # 使用response对象写入cookie到浏览器,会话结束就过期
    response.set_cookie('name','zxc')
    # 设置过期时间,单位是秒
    response.set_cookie('age', '18', max_age=3600)
    # 删除cookie
    response.delete_cookie('name')

    session设置

    在flask中必须配置密钥参数,因为要对sessionid加密.   django中则不用,在settings中已经配置好了.

from flask import Flask, session
# 配置秘钥参数
app.config['SECRET_KEY'] = 'n%lq5-oyhv0not14+xv4m=q-@^kt1ptzst5)w$1@o*)=ose&nv'
 # 设置session
    session.permanent = True
    session['name'] = 'zxc'
    # 读取session
    name = session['name']
    # 删除session
    session.pop('name')

django

cookie

"""设置cookie信息"""
    response = HttpResponse('设置cookie信息')
    # 设置cookie信息, 'name':'smart' 'age':18
    # response.set_cookie('name', 'smart')
    # response.set_cookie('age', 18)

    # 设置cookie信息, 'name':'smart' 'age':18, 并且设置过期时间为1周
    response.set_cookie('name', 'smart', max_age=7*24*3600)
    response.set_cookie('age', 18, max_age=7*24*3600)
    """获取cookie信息"""
    # 获取cookie name和age
    name = request.COOKIES['name']
    age = request.COOKIES['age']       
    response.delete_cookie('username')
    return HttpResponse('读取cookie信息:%s %s' % (name, age))

session

"""设置session信息"""
    # 设置session username:smart age:18
    request.session['username'] = 'smart'
    request.session['age'] = 18
    # 设置session 60秒之后过期
    request.session.set_expiry(60)
    """获取session信息"""
    username = request.session['username']
    age = request.session['age']
    

    清除session的几种方式

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值