当前位置: 首页 > 工具软件 > Zope > 使用案例 >

Session变量在Zope中的使用

邢寒
2023-12-01

  Session一般翻译为会话期,一个Session开始于用户输入一个站点的网址时,结束于他离开这个站点时。也就是说Session是用户浏览这个网站所花费的时间,实际上是一个特定的时间概念。

  Session可用于实现网站全局变量,即使得某一个页面中的变量(服务器端变量)可以在下一页中继续使用。

  很多时候,诸如用户身份认证、程序状态记录等,我们需要在页面之间进行参数传递。如果不使用Session,通常是用form和urlstring来实现这一功能,这样并不方便,有的时候还会带来延时。有了Session之后,我们就可以用Session来实现这些功能了。

  在Zope中,使用Session其实很简单,以下两段代码几乎可以涵盖所有基本应用。

Python范例

  缓存普通变量

#定义session
session=context.REQUEST.SESSION
#如果session中已经定义过example变量
if session.has_key('example'):
  #将session变量的值赋给普通变量
  example_value=session['example']
else:
  #将普通变量的值赋给session变量
  session['example'] = "initial"


  缓存列表变量

#定义session
session=context.REQUEST.SESSION
#获取列表型session变量的值赋给普通列表型变量
l=session.get('myList', [])
#修改该普通列表型变量
l.append("spam")
#将普通列表型变量的值赋给列表型session变量
session['myList']=l

  这里需要注意的是:如果对于l进行修改后不对session['mylist']重新赋值,session['mylist']的值并不会改变。

PageTemplate范例

<p tal:content="request/SESSION/favorite_color">Blue</p>

 类似资料: