0

努力了解为什么这不起作用:

import MySQLdb
import cgi, cgitb
import os
from wsgiref.simple_server import make_server
from cgi import parse_qs, escape

def index(req):

    d = parse_qs(os.environ['QUERY_STRING'])

    dtbox = d.get('dt', [''])[0]
    tmbox = d.get('tm', [''])[0]

该脚本返回一个 KeyError:QUERY_STRING

我可以看到网址是:

http://myserver/currentcost.py?dt=2013-09-10&tm=00

我简直迷路了!

4

2 回答 2

0

尝试:

req.subprocess_env['QUERY_STRING']

这就是它应该如何与 mod_python 一起工作;你之前的做法似乎是为 CGI 设计的。

另外,作为旁注,我认为这样做会更好:

d.get('dt', [None])[0]

代替

d.get('dt', [''])[0]
于 2013-09-27T10:30:03.470 回答
0

尝试使用:

d = parse_qs(os.environ.get('QUERY_STRING', ''))

这对我有用,因为我遇到了同样的问题。经过一段时间的研究,我遇到了这个解决方案,之后一切似乎都很好。

于 2018-11-08T20:29:41.600 回答