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号