Django session机制

本文详述了Django的session机制,包括其作为Full stack framework的角色,session的存储方式如数据库、缓存和文件系统,并探讨了如何在Django中使用session,以及session的过期设置和管理。同时,文章提供了多个Django session相关的学习资源和实战案例,如Redis+Django的用户系统实现。

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

最近做项目,用到了session机制,就对Django session进行 了调研,具体总结如下:

Django属于Full stackframework。包括了几乎所有web开发用到的模块。session管理、CSRF防伪造请求、Form表单处理、ORM数据库对象化、自己的template language

Django中的Session有3种存储方式:放在数据库、缓存或者文件系统中,通过系统配置文件setting.py 来配置session的存储。然后就可以通过数据库,或者缓存,来操作session,比如设置、删除、获取session

 

Django:使用session 的简单例子

http://www.ziqiangxuetang.com/django/django-session.html

django:session中的若干问题:*****

http://blog.sina.com.cn/s/blog_3fe961ae01016ci6.html

详细介绍django:session:

http://simple-is-better.com/news/499

django session源码阅读:

https://segmentfault.com/a/1190000002435578

django的session过期问题:

http://www.django-china.cn/topic/500/

django自定义session处理:

http://www.yihaomen.com/article/python/277.htm

django种表单post出现CSRF verification failed( CSRF验证失败 ) 的两种解决方案

http://www.tuicool.com/articles/qMzUnq

django菜鸟教程

http://www.runoob.com/django/django-template.html

Django里使用sqlite3做Session

http://blog.youkuaiyun.com/chenggong2dm/article/details/7028272

如何使用djangosession:

http://blog.sina.com.cn/s/blog_4b5bc0110100o21g.html

django官方文档-session:

https://docs.djangoproject.com/en/dev/topics/http/sessions/

在命令行访问sessin数据

# 生成并保存session(利用SessionStore)

http://blog.sina.com.cn/s/blog_a73687bc0101dkmv.html

SQLite语法:

http://www.runoob.com/sqlite/sqlite-syntax.html

在SQlite存储的django_session 表字段:

Session_key,session_data,expire_date

Chrome 如何查看/修改Cookie

http://jingyan.baidu.com/article/6b18230954dbc0ba59e15960.html

django详细用户认证API

http://blog.chinaunix.net/uid-21633169-id-4352928.html

djangouser_logged_in:

https://docs.djangoproject.com/en/dev/ref/contrib/auth/

DJango快速搭建blog

http://www.cnblogs.com/fnng/p/3737964.html

Redis+Django(Session,Cookie)的用户系统

http://www.cnblogs.com/BeginMan/p/3890761.html


设置session过期时间

Django session 中的若干问题:

http://blog.sina.com.cn/s/blog_3fe961ae01016ci6.html

django基础学习cookie andsession:

http://blog.youkuaiyun.com/bravezhe/article/details/7711186

如何设置一个严格的过期时间?

http://www.laruence.com/2012/01/10/2469.html

目前涉及到修改django源码的地方

https://www.douban.com/note/353066560/

django源码阅读:

https://segmentfault.com/a/1190000002450390

djangoSession框架

http://www.fenby.com/courses/sections/djangode-session-kuang-jia/

 

 

在django框架中,浏览器关闭即失效会话 vs 持久会话,配置文件setting.py:

选择一:

SEESION_EXPIRE_AT_BROWSER_CLOSE=True

关闭浏览器 session即失效了,你必须要重新登录

选择二:

设置一个过期时间—持久会话:

SESSION_COOKIE_AGE=60*30

SESSION_EXPIRE_AT_BROWSER_CLOSE=False

在session过期之前,没有正常退出关闭浏览器,再次打开浏览器不用登录即可进入:index

选择三:在视图中设置持久会话

在视图view.py中设置:

Request.session.set_expire(60*30) 这个设置具有优先权

 

a logged-in user only has one sessionactive:

my_old_sessions =Session.objects.all()

for row in my_old_sessions:

  if row.get_decoded().get("_username") ==request.user.username:

     row.delete()

django没有提供自动清除过期session


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值