2005年04月27日 星期三 21:12
好问题, 不过其实也不是问题,
session在创建对象的时候自动记录了访问时间.
参考mod_python/session.py:
class BaseSession(dict):
def __init__(self, req, sid=None, secret=None,
lock=1,
timeout=0):
...
self._accessed = time.time()
...
最近发现list里面问mod_python的人满多的,
mod_python其实是Python和Apache联系的底层库,
所以是非常原始的,
事实上python最近出现了很多很好的web开发框架,
他们基本上都能以mod_python为基础, 运行在apache上.
我去年暑假用纯mod_python编写了一个文章系统,
有session和upload等一些功能,
其实早就有代码开放了,任何人都可以和我讨论源码,
但是由于我的疏忽, 一直没把它明确得列到woodpecker上,
现在可以到 http://wiki.woodpecker.org.cn/moin/BabyWork
上看详细信息, 并进行讨论,
--- Frank <gavin at sz.net.cn> wrote:
>
> Session最常用的几个方法:
>
>
> sid=form.get("sid","")
> secret="Abstfgsd" #可以为空
> S=Session.Session(req,sid,secret,1800)
>
> if S.is_new() or not form.has_key("sid"):
> #新的Session,首次访问或以前的Session超时过期
> 相应处理
> else:
> S.load()
> account=S["account"] #从Session中取出保存的值
> sid=S.id() #Session ID号
> S["mykey"]=xxxx #在Session保存值
> S.set_timeout(1800) #设置Session报废时间秒
> S.save() #保存所有Session值
>
> 我目前唯一的困惑是,如果如何将Session的超时时间在
> 连续第二次访问之后时间让其顺延,比如:第一设置超时
> 间设置为30分,5分钟后再访问时,Session的超时时间以
> 我访问时间再顺延30分钟。由于忙别的时间,一直没有再
> 试验。
>
>
> ----- Original Message -----
> From: "胡兴洋" <hu.007 at 163.com>
> To: "python-chinese"
> <python-chinese at lists.python.cn>
> Sent: Tuesday, April 26, 2005 9:22 PM
> Subject: [python-chinese] mod_python中session的问题
>
>
> python-chinese,您好!
>
>
哪位大侠能给个session的例子,简单就好。不知道什么原因,我的总失败。在apache里还要设置什么有关session的选项?
>
>
环境:freebsd5.4rc3+apache2.0.53+python2.3+mod_python2.1.4
>
> 源码index.psp:
> --------------------------------------
>
>
> <%=session.id()%>
>
>
> --------------------------------------
>
> 输出:
> --------------------------------------
> Mod_python error: "PythonHandler mod_python.psp"
>
> Traceback (most recent call last):
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/apache.py",
> line 299, in HandlerDispatch
> result = object(req)
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/psp.py",
> line 297, in handler
> p.run()
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/psp.py",
> line 191, in run
> session = Session.Session(req)
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/Session.py",
> line 389, in Session
> timeout=timeout, lock=lock)
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/Session.py",
> line 294, in __init__
> timeout=timeout, lock=lock)
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/Session.py",
> line 132, in __init__
> Cookie.add_cookie(self._req, self.make_cookie())
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/Session.py",
> line 160, in make_cookie
> c.path = dirpath[len(docroot):]
>
> TypeError: unsubscriptable object
> --------------------------------------
>
> 致
> 礼!
>
>
> 胡兴洋
> hu.007 at 163.com
> 2005-04-26
>
>
>
>
--------------------------------------------------------------------------------
>
>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> > _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>
_________________________________________________________
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
http://music.yisou.com/
美女明星应有尽有,搜遍美图、艳图和酷图
http://image.yisou.com
1G就是1000兆,雅虎电邮自助扩容!
http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
2005年04月27日 星期三 21:22
望了说一下, mod_python是开源的, 因此很多问题其实都可以通过阅读源码来了解. 另外希望大家能仔细阅读程序的错误提示, python的traceback可以用来很好的定位错误的位置, 性质等. --- Hoxide Ma <hoxide_dirac at yahoo.com.cn> 的正文: > 好问题, 不过其实也不是问题, > session在创建对象的时候自动记录了访问时间. > 参考mod_python/session.py: > class BaseSession(dict): > > def __init__(self, req, sid=None, secret=None, > lock=1, > timeout=0): > > ... > self._accessed = time.time() > ... > > 最近发现list里面问mod_python的人满多的, > mod_python其实是Python和Apache联系的底层库, > 所以是非常原始的, > 事实上python最近出现了很多很好的web开发框架, > 他们基本上都能以mod_python为基础, 运行在apache上. > > 我去年暑假用纯mod_python编写了一个文章系统, > 有session和upload等一些功能, > 其实早就有代码开放了,任何人都可以和我讨论源码, > 但是由于我的疏忽, 一直没把它明确得列到woodpecker上, > 现在可以到 > http://wiki.woodpecker.org.cn/moin/BabyWork > 上看详细信息, 并进行讨论, > --- Frank <gavin at sz.net.cn> wrote: > > > > Session最常用的几个方法: > > > > > > sid=form.get("sid","") > > secret="Abstfgsd" #可以为空 > > S=Session.Session(req,sid,secret,1800) > > > > if S.is_new() or not form.has_key("sid"): > > #新的Session,首次访问或以前的Session超时过期 > > 相应处理 > > else: > > S.load() > > account=S["account"] #从Session中取出保存的值 > > sid=S.id() #Session ID号 > > S["mykey"]=xxxx #在Session保存值 > > S.set_timeout(1800) #设置Session报废时间秒 > > S.save() #保存所有Session值 > > > > 我目前唯一的困惑是,如果如何将Session的超时时间在 > > 连续第二次访问之后时间让其顺延,比如:第一设置超时 > > 间设置为30分,5分钟后再访问时,Session的超时时间以 > > 我访问时间再顺延30分钟。由于忙别的时间,一直没有再 > > 试验。 > > > > > > ----- Original Message ----- > > From: "胡兴洋" <hu.007 at 163.com> > > To: "python-chinese" > > <python-chinese at lists.python.cn> > > Sent: Tuesday, April 26, 2005 9:22 PM > > Subject: [python-chinese] > mod_python中session的问题 > > > > > > python-chinese,您好! > > > > > 哪位大侠能给个session的例子,简单就好。不知道什么原因,我的总失败。在apache里还要设置什么有关session的选项? > > > > > 环境:freebsd5.4rc3+apache2.0.53+python2.3+mod_python2.1.4 > > > > 源码index.psp: > > -------------------------------------- > > > > > > <%=session.id()%> > > > > > > -------------------------------------- > > > > 输出: > > -------------------------------------- > > Mod_python error: "PythonHandler mod_python.psp" > > > > Traceback (most recent call last): > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/apache.py", > > line 299, in HandlerDispatch > > result = object(req) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/psp.py", > > line 297, in handler > > p.run() > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/psp.py", > > line 191, in run > > session = Session.Session(req) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/Session.py", > > line 389, in Session > > timeout=timeout, lock=lock) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/Session.py", > > line 294, in __init__ > > timeout=timeout, lock=lock) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/Session.py", > > line 132, in __init__ > > Cookie.add_cookie(self._req, > self.make_cookie()) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/Session.py", > > line 160, in make_cookie > > c.path = dirpath[len(docroot):] > > > > TypeError: unsubscriptable object > > -------------------------------------- > > > > 致 > > 礼! > > > > > > 胡兴洋 > > hu.007 at 163.com > > 2005-04-26 > > > > > > > > > -------------------------------------------------------------------------------- > > > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > _________________________________________________________ > Do You Yahoo!? > 150万曲MP3疯狂搜,带您闯入音乐殿堂 > http://music.yisou.com/ > 美女明星应有尽有,搜遍美图、艳图和酷图 > http://image.yisou.com > 1G就是1000兆,雅虎电邮自助扩容! > http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/ > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > _________________________________________________________ Do You Yahoo!? 150万曲MP3疯狂搜,带您闯入音乐殿堂 http://music.yisou.com/ 美女明星应有尽有,搜遍美图、艳图和酷图 http://image.yisou.com 1G就是1000兆,雅虎电邮自助扩容! http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
2005年04月28日 星期四 18:57
谢谢!
其实我觉得mod_python作Web开发很不错,不用其它框架。
mod_python中提供了一个模版功能非常不错,避免了python
缩行风格在PSP中带来的弊端。我就是一直用它的模版功能
在开发,只是它的模版功能比较弱。
此外如果用mod_Python开发,最难的是调试,好好利用
traceback能解决该问题。我就是写了下面的函数实现将
错误信息写入Log中实现调试的,非常方便。所有错误信息
就像在解释器中一样显示,在这里我要感谢limodou, 是他
告诉我这个方法!
def formatExceptInfo():
from traceback import format_exception
from sys import exc_info
return ''.join(format_exception(*exc_info()))
----- Original Message -----
From: "Hoxide Ma" <hoxide_dirac at yahoo.com.cn>
To: <python-chinese at lists.python.cn>
Sent: Wednesday, April 27, 2005 9:12 PM
Subject: Re: Re: [python-chinese] mod_python中session的问题
好问题, 不过其实也不是问题,
session在创建对象的时候自动记录了访问时间.
参考mod_python/session.py:
class BaseSession(dict):
def __init__(self, req, sid=None, secret=None,
lock=1,
timeout=0):
...
self._accessed = time.time()
...
最近发现list里面问mod_python的人满多的,
mod_python其实是Python和Apache联系的底层库,
所以是非常原始的,
事实上python最近出现了很多很好的web开发框架,
他们基本上都能以mod_python为基础, 运行在apache上.
我去年暑假用纯mod_python编写了一个文章系统,
有session和upload等一些功能,
其实早就有代码开放了,任何人都可以和我讨论源码,
但是由于我的疏忽, 一直没把它明确得列到woodpecker上,
现在可以到 http://wiki.woodpecker.org.cn/moin/BabyWork
上看详细信息, 并进行讨论,
--- Frank <gavin at sz.net.cn> wrote:
>
> Session最常用的几个方法:
>
>
> sid=form.get("sid","")
> secret="Abstfgsd" #可以为空
> S=Session.Session(req,sid,secret,1800)
>
> if S.is_new() or not form.has_key("sid"):
> #新的Session,首次访问或以前的Session超时过期
> 相应处理
> else:
> S.load()
> account=S["account"] #从Session中取出保存的值
> sid=S.id() #Session ID号
> S["mykey"]=xxxx #在Session保存值
> S.set_timeout(1800) #设置Session报废时间秒
> S.save() #保存所有Session值
>
> 我目前唯一的困惑是,如果如何将Session的超时时间在
> 连续第二次访问之后时间让其顺延,比如:第一设置超时
> 间设置为30分,5分钟后再访问时,Session的超时时间以
> 我访问时间再顺延30分钟。由于忙别的时间,一直没有再
> 试验。
>
>
> ----- Original Message -----
> From: "胡兴洋" <hu.007 at 163.com>
> To: "python-chinese"
> <python-chinese at lists.python.cn>
> Sent: Tuesday, April 26, 2005 9:22 PM
> Subject: [python-chinese] mod_python中session的问题
>
>
> python-chinese,您好!
>
>
哪位大侠能给个session的例子,简单就好。不知道什么原因,我的总失败。在apache里还要设置什么有关session的选项?
>
>
环境:freebsd5.4rc3+apache2.0.53+python2.3+mod_python2.1.4
>
> 源码index.psp:
> --------------------------------------
>
>
> <%=session.id()%>
>
>
> --------------------------------------
>
> 输出:
> --------------------------------------
> Mod_python error: "PythonHandler mod_python.psp"
>
> Traceback (most recent call last):
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/apache.py",
> line 299, in HandlerDispatch
> result = object(req)
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/psp.py",
> line 297, in handler
> p.run()
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/psp.py",
> line 191, in run
> session = Session.Session(req)
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/Session.py",
> line 389, in Session
> timeout=timeout, lock=lock)
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/Session.py",
> line 294, in __init__
> timeout=timeout, lock=lock)
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/Session.py",
> line 132, in __init__
> Cookie.add_cookie(self._req, self.make_cookie())
>
> File
>
"/usr/local/lib/python2.3/site-packages/mod_python/Session.py",
> line 160, in make_cookie
> c.path = dirpath[len(docroot):]
>
> TypeError: unsubscriptable object
> --------------------------------------
>
> 致
> 礼!
>
>
> 胡兴洋
> hu.007 at 163.com
> 2005-04-26
>
>
>
>
--------------------------------------------------------------------------------
>
>
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> > _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
>
_________________________________________________________
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
http://music.yisou.com/
美女明星应有尽有,搜遍美图、艳图和酷图
http://image.yisou.com
1G就是1000兆,雅虎电邮自助扩容!
http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/
_______________________________________________
python-chinese list
python-chinese at lists.python.cn
http://python.cn/mailman/listinfo/python-chinese
2005年04月28日 星期四 22:08
收藏!!! On 4/28/05, Frank <gavin at sz.net.cn> wrote: > > 谢谢! > > 其实我觉得mod_python作Web开发很不错,不用其它框架。 > mod_python中提供了一个模版功能非常不错,避免了python > 缩行风格在PSP中带来的弊端。我就是一直用它的模版功能 > 在开发,只是它的模版功能比较弱。 > > 此外如果用mod_Python开发,最难的是调试,好好利用 > traceback能解决该问题。我就是写了下面的函数实现将 > 错误信息写入Log中实现调试的,非常方便。所有错误信息 > 就像在解释器中一样显示,在这里我要感谢limodou, 是他 > 告诉我这个方法! > > def formatExceptInfo(): > from traceback import format_exception > from sys import exc_info > return ''.join(format_exception(*exc_info())) > > > ----- Original Message ----- > From: "Hoxide Ma" <hoxide_dirac at yahoo.com.cn> > To: <python-chinese at lists.python.cn> > Sent: Wednesday, April 27, 2005 9:12 PM > Subject: Re: Re: [python-chinese] mod_python中session的问题 > > 好问题, 不过其实也不是问题, > session在创建对象的时候自动记录了访问时间. > 参考mod_python/session.py: > class BaseSession(dict): > > def __init__(self, req, sid=None, secret=None, > lock=1, > timeout=0): > > ... > self._accessed = time.time() > ... > > 最近发现list里面问mod_python的人满多的, > mod_python其实是Python和Apache联系的底层库, > 所以是非常原始的, > 事实上python最近出现了很多很好的web开发框架, > 他们基本上都能以mod_python为基础, 运行在apache上. > > 我去年暑假用纯mod_python编写了一个文章系统, > 有session和upload等一些功能, > 其实早就有代码开放了,任何人都可以和我讨论源码, > 但是由于我的疏忽, 一直没把它明确得列到woodpecker上, > 现在可以到 http://wiki.woodpecker.org.cn/moin/BabyWork > 上看详细信息, 并进行讨论, > --- Frank <gavin at sz.net.cn> wrote: > > > > Session最常用的几个方法: > > > > > > sid=form.get("sid","") > > secret="Abstfgsd" #可以为空 > > S=Session.Session(req,sid,secret,1800) > > > > if S.is_new() or not form.has_key("sid"): > > #新的Session,首次访问或以前的Session超时过期 > > 相应处理 > > else: > > S.load() > > account=S["account"] #从Session中取出保存的值 > > sid=S.id() #Session ID号 > > S["mykey"]=xxxx #在Session保存值 > > S.set_timeout(1800) #设置Session报废时间秒 > > S.save() #保存所有Session值 > > > > 我目前唯一的困惑是,如果如何将Session的超时时间在 > > 连续第二次访问之后时间让其顺延,比如:第一设置超时 > > 间设置为30分,5分钟后再访问时,Session的超时时间以 > > 我访问时间再顺延30分钟。由于忙别的时间,一直没有再 > > 试验。 > > > > > > ----- Original Message ----- > > From: "胡兴洋" <hu.007 at 163.com> > > To: "python-chinese" > > <python-chinese at lists.python.cn> > > Sent: Tuesday, April 26, 2005 9:22 PM > > Subject: [python-chinese] mod_python中session的问题 > > > > > > python-chinese,您好! > > > > > 哪位大侠能给个session的例子,简单就好。不知道什么原因,我的总失败。在apache里还要设置什么有关session的选项? > > > > > 环境:freebsd5.4rc3+apache2.0.53+python2.3+mod_python2.1.4 > > > > 源码index.psp: > > -------------------------------------- > > > > > > <%=session.id()%> > > > > > > -------------------------------------- > > > > 输出: > > -------------------------------------- > > Mod_python error: "PythonHandler mod_python.psp" > > > > Traceback (most recent call last): > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/apache.py", > > line 299, in HandlerDispatch > > result = object(req) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/psp.py", > > line 297, in handler > > p.run() > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/psp.py", > > line 191, in run > > session = Session.Session(req) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/Session.py", > > line 389, in Session > > timeout=timeout, lock=lock) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/Session.py", > > line 294, in __init__ > > timeout=timeout, lock=lock) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/Session.py", > > line 132, in __init__ > > Cookie.add_cookie(self._req, self.make_cookie()) > > > > File > > > "/usr/local/lib/python2.3/site-packages/mod_python/Session.py", > > line 160, in make_cookie > > c.path = dirpath[len(docroot):] > > > > TypeError: unsubscriptable object > > -------------------------------------- > > > > 致 > > 礼! > > > > > > 胡兴洋 > > hu.007 at 163.com > > 2005-04-26 > > > > > > > > > > -------------------------------------------------------------------------------- > > > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > _________________________________________________________ > Do You Yahoo!? > 150万曲MP3疯狂搜,带您闯入音乐殿堂 > http://music.yisou.com/ > 美女明星应有尽有,搜遍美图、艳图和酷图 > http://image.yisou.com > 1G就是1000兆,雅虎电邮自助扩容! > > http://cn.rd.yahoo.com/mail_cn/tag/1g/*http://cn.mail.yahoo.com/event/mail_1g/ > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050428/8d7e8223/attachment.htm
Zeuux © 2025
京ICP备05028076号