免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6878 | 回复: 16
打印 上一主题 下一主题

制作mod_python登录页面不成功 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-15 11:07 |显示全部楼层 |倒序浏览
把问题简化了一下
下面是那个来自手册里的计数器
我把它从handler改到了publisher
就不工作了
这是为什么呢

  1. from mod_python import Session

  2. def index(req):
  3.         session=Session.Session(req)
  4.         try:
  5.                 session['hits']+=1
  6.         except:
  7.                 session['hits']=1
  8.         session.save()
  9.         req.content_type='text/plain'
  10.         return 'Hits: %d\n' % session['hits']
复制代码

[ 本帖最后由 bleem1998 于 2006-5-15 15:26 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-05-15 15:27 |显示全部楼层
修改了一下问题
把问题简化了
再帮看看?

至于cookie。。。
等搞定了session就要去弄它了

论坛徽章:
0
3 [报告]
发表于 2006-05-15 15:35 |显示全部楼层
你是用的publisher吗
那个计数器可以工作?
可是我这里始终都是1

论坛徽章:
0
4 [报告]
发表于 2006-05-15 15:40 |显示全部楼层
不懂CGI阿
既然是cgi那应该和语言无关了
用delphi和用python都是一个方法吧
这种东西perl版肯定好多人知道

论坛徽章:
0
5 [报告]
发表于 2006-05-15 15:48 |显示全部楼层
Ok
看来是我的配置有问题
handler模式都不行
哈哈

能否把你的httpd.conf相关部分贴出来我参考一下?

这个是我的

  1. <Directory /var/www/apache2-default/test>
  2.         AddHandler mod_python .htm .html .psp
  3.         PythonHandler mod_python.psp
  4.         PythonDebug ON
  5.         Order allow,deny
  6.         Allow from all
  7. </Directory>

  8. <Directory /var/www/apache2-default/test/publisher>
  9.         AddHandler mod_python .py
  10.         PythonHandler mod_python.publisher
  11.         PythonDebug ON
  12.         Order allow,deny
  13.         Allow from all
  14. </Directory>

  15. <Directory /var/www/apache2-default/test/handler>
  16.         AddHandler mod_python .py
  17.         PythonHandler my_handler
  18.         PythonDebug On
  19. </Directory>

复制代码

[ 本帖最后由 bleem1998 于 2006-5-15 15:51 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2006-05-15 16:00 |显示全部楼层
别人的机器刷这个页面就不停的变
我的机器就不行。。。。

论坛徽章:
0
7 [报告]
发表于 2006-05-15 16:16 |显示全部楼层
原因找到了
是publisher和PSP的session一起用就会有问题
publisher做一个save()
在PSP里找不到这个session了

论坛徽章:
0
8 [报告]
发表于 2006-05-15 17:24 |显示全部楼层
如果session出错一次
那么1楼的例子就跑不了了
得重新启动浏览器才行

看来这个问题是不能解决了
现在我的做法是
所有用到session.save()的地方我都用PSP来替换了

论坛徽章:
0
9 [报告]
发表于 2006-05-15 17:25 |显示全部楼层
问题很明显
PSP里保存的session在publisher里可以看到
但是publisher里保存的session在PSP里看不到

论坛徽章:
0
10 [报告]
发表于 2006-05-15 17:39 |显示全部楼层
login.htm

  1. <html>
  2. <%
  3. from mod_python import Session
  4. %>
  5. <%
  6. sess=Session.Session(req)
  7. if sess.is_new():
  8.         req.write('没登录.')
  9. %>

  10.       <form action="../publisher/login.py" method="GET">
  11.          姓名:   <input type="text" name="name">
  12.            <input type="submit" value='登录'>
  13.       </form>
  14. </html>

  15. <%
  16. else:
  17.         req.write('你已经登录了.')
  18. %>
复制代码


login.py

  1. from mod_python import Session
  2. from mod_python import util
  3. from mod_python import apache

  4. def login(req, name=''):
  5.         sess=Session.Session(req)
  6.        
  7.         if sess.is_new():
  8.                 #sess.set_timeout(10)
  9.                 sess.save()
  10.                 return 'New',str(sess.id())
  11.         else:
  12.                 return 'Old',str(sess.id())
  13.         return 'Ok',str(sess.id())
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP