这个问题是基于这个答案.
我正在寻找类似于PHP的session_start()Python 函数.我想访问像$_SESSIONPHP这样的字典,它在运行命令后变得可用.
让我谈谈可能与你的问题有关的一些事情......它可能与你无关,但我认为其他人可能会带着完全相同的问题来到这里,并可能从我(有限的)经验中受益...因为我也曾经有过这个问题.
作为从PHP到Python(从不回头)的人,我认为了解会话如何工作是有用的.实现自己的会话框架可能不是一个好主意,除非您(a)想要了解更多关于会话管理的信息,或者(b)需要现有框架不提供的东西.
维基百科始终是一个好的起点.底线:会话数据存储在服务器上的某个位置,并由唯一标识符(某种哈希)索引.此标识符在客户端和服务器之间来回传递,通常作为cookie或作为查询字符串(URL)的一部分.出于安全考虑,您需要使用SSL连接或使用其他一些数据(例如IP地址)验证会话ID.默认情况下,PHP将会话存储为文件,但是在可能带来安全风险的共享服务器上,因此您可能希望覆盖会话引擎,以便将会话存储在数据库中.Python Web框架具有类似的功能.
当我开始用Python进行Web编程时,我注意到了两件事.首先,PHP在语言中包含了很多魔力,使初学程序员(我在2003年)很容易学习语言,但没有教会我如何运作.因此,我发现自己正在研究许多关于Web应用程序的主题,特别是数据库连接池,URL映射,会话和线程.PHP(以及Django,根据我的理解)抽象出来为你而去.其次,PHP是一种非常糟糕的语言;)但它完成了工作!
我个人使用CherryPy进行Web开发.它将会话管理作为您可以打开的"工具".
作为一个来自PHP并且正在使用Python的人,我可以告诉你,Django是开始在网上处理Python的好方法.如果您在PHP中使用MVC框架,则尤其如此.也就是说,Django已经建立了对会话管理的支持,并在此处记录:
http://docs.djangoproject.com/en/dev/topics/http/sessions/
而且,出于好奇,我用普通的python环顾四周进行会话管理,发现了这个:
http://code.activestate.com/recipes/325484/
从评论来看,似乎你最好使用一个经过验证的真实框架来为你处理这个问题.如果你对Django不感兴趣,你也可以查看其他一些
您可以考虑查看Beaker库中的Python,它不依赖于任何一个Web框架,它将在WSGI兼容环境中工作:
Beaker是一个用于缓存和会话的库,用于Web应用程序和独立的Python脚本和应用程序.它附带了WSGI中间件,可以轻松地与基于WSGI的Web应用程序一起使用,以及缓存装饰器,以便与任何基于Python的应用程序一起使用.
| 归档时间: |
|
| 查看次数: |
24156 次 |
| 最近记录: |