• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 在Django的视图(View)外使用Session的方法

在Django的视图(View)外使用Session的方法

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了django detailview,django view,django as view,django session,django session超时等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

从内部来看,每个session都只是一个普通的Django model(在 django.contrib.sessions.models 中定义)。每个session都由一个随机的32字节哈希串来标识,并存储于cookie中。 因为它是一个标准的模型,所以你可以使用Django数据库API来存取session。

>>> from django.contrib.sessions.models import Session
>>> s = Session.objects.get(pk='2b1189a188b44ad18c35e113ac6ceead')
>>> s.expire_date
datetime.datetime(2005, 8, 20, 13, 35, 12)

</div>

你需要使用get_decoded() 来读取实际的session数据。 这是必需的,因为字典存储为一种特定的编码格式。

>>> s.session_data
'KGRwMQpTJ19hdXRoX3VzZXJfaWQnCnAyCkkxCnMuMTExY2ZjODI2Yj...'
>>> s.get_decoded()
{'user_id': 42}

</div>

何时保存Session

缺省的情况下,Django只会在session发生变化的时候才会存入数据库,比如说,字典赋值或删除。

# Session is modified.
request.session['foo'] = 'bar'

# Session is modified.
del request.session['foo']

# Session is modified.
request.session['foo'] = {}

# Gotcha: Session is NOT modified, because this alters
# request.session['foo'] instead of request.session.
request.session['foo']['bar'] = 'baz'

</div>

你可以设置 SESSION_SAVE_EVERY_REQUEST 为 True 来改变这一缺省行为。如果置为True的话,Django会在每次收到请求的时候保存session,即使没发生变化。

注意,会话cookie只会在创建和修改的时候才会送出。 但如果 SESSION_SAVE_EVERY_REQUEST 设置为 True ,会话cookie在每次请求的时候都会送出。 同时,每次会话cookie送出的时候,其 expires 参数都会更新。

</div>

您可能想查找下面的文章:

  • 在Django的视图(View)外使用Session的方法
  • 在Django的视图(View)外使用Session的方法

相关文章

  • 跟老齐学Python之让人欢喜让人忧的迭代
  • Python编程生成随机用户名及密码的方法示例
  • python实现DES加密解密方法实例详解
  • python实现二维码扫码自动登录淘宝
  • 使用Python标准库中的wave模块绘制乐谱的简单教程
  • python创建一个最简单http webserver服务器的方法
  • python计算文本文件行数的方法
  • Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
  • python多线程操作实例
  • python socket网络编程步骤详解(socket套接字使用)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python中取整的几种方法小结
    • python3.3使用tkinter开发猜数字游戏示例
    • python中字典dict常用操作方法实例总结
    • python批量同步web服务器代码核心程序
    • 复习Python中的字符串知识点
    • 小结Python用fork来创建子进程注意事项
    • Python实现测试磁盘性能的方法
    • python中zip和unzip数据的方法
    • Python中的闭包实例详解
    • python用10行代码实现对黄色图片的检测功能

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有