django中的通用视图(类视图),如何获得和设置session?

django中的通用视图(类视图),如何获得和设置session?,第1张

HttpSession session = request.getSession()

session.getAttribute(“名称”)------得到session放入进去的信息。

session.getAttributeNames()-----得到session里面所有的信息名称。

session.getMaxInactiveInterval()----得槐察到session最大存活时间。

seesion.getId()------得到session的备老id。比较有用的属性,可以实现共享session。

session.getCreationTime()-----session创建时间。

。。。。。。。。。。。

还有比较多的属性都可以得到session的配置信息仿明升。同样,也可以在web.xml文件中通过<session-config>设置session的属性。

Django 完全支持匿名 Session。 Session 框架允许每一个用户保存并取回数据。它将数据保存在服务器端,并将发世毕谨送和接收 Cookie 的 *** 作包装起来。在 Cookie 中包含的是 Session ID,而不是数据本身。

启用 Sessions¶

Session 是通过 中间件 的方式实现的。

要启用 Session 的功能,需要完成以下步骤:

修改 MIDDLEWARE_CLASSES 设置,并确定其中包含了'django.contrib.sessions.middleware.SessionMiddleware' 。``django-admin.py startproject`` 所创建的缺省的 settings.py 就已经激活了 SessionMiddleware 。

将 'django.contrib.sessions' 添加到你的 INSTALLED_APPS 设置中,并执行 manage.py syncdb以便安装用于存储 Session 数据的表格。

Changed in Django 1.0: 如果你并未使用数据库存储 Session,则此步骤可数陵以忽略;参考 配置 Session 引擎。

If you don’t want to use sessions, you might as well remove the SessionMiddleware line fromMIDDLEWARE_CLASSES and 'django.contrib.sessions' from your INSTALLED_APPS. It’ll save you a small bit of overhead.

配置 Session 引擎¶

New in Django 1.0..

缺省情况下,Django 将 Session 存储在数据库中 (使用模型django.contrib.sessions.models.Session)。尽管这搜基很方便,但在某些情况下,把 Session 放在其它的地方速度会更快。因此 Django 允许您通过配置让它将 Session 数据保存在文件系统或缓冲区中。

使用基于文件的 Session¶

要使用基于文件的 Session,请将 SESSION_ENGINE 设置为"django.contrib.sessions.backends.file" 。

您可能还需要修改 SESSION_FILE_PATH 这一设置以便控制 Django 存储 Session 文件的位置,缺省情况下,它使用 tempfile.gettempdir() ,通常是 /tmp 。

使用基于缓冲区的 Session¶

要使用 Django 的缓冲区系统来保存 Session,需要将 SESSION_ENGINE 设置为"django.contrib.sessions.backends.cache" 。您必须确保您已经配置了缓冲区,详情请参考 缓冲区文档 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8189075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存