Django session机制

来源:互联网 发布:行业研究员学历 知乎 编辑:程序博客网 时间:2024/05/18 13:25

最近做项目,用到了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.csdn.net/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.csdn.net/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


0 0