일부 코드에서 QUERY_STRING을 얻으려는 중 일부 문제가 있습니다.하지만 콘솔의 오류를 볼 때 내부 오류 500이 발생하여이 오류가 발생하는 것으로 보입니다. 줄 getReqStr = env_vars['QUERY_STRING']
mod_python 및 env_vars()를 사용하여 QUERY_STRING 가져 오기
누구든지 어떤 문제를 해결할 수 있습니까?
import MySQLdb
import cgi, cgitb
from urlparse import urlparse
def index(req):
req.add_common_vars()
env_vars = req.subprocess_env
getReqStr = env_vars['QUERY_STRING']
getReqArr = getReqStr.split('&')
getReqDict = {}
for item in getReqArr:
tempArr = item.split('=')
getReqDict[tempArr[0]] = tempArr[1]
dtbox = getReqDict['dt']
tmbox = getReqDict['tm']
con = MySQLdb.connect('localhost', 'root', '', 'mydb')
with con:
cur = con.cursor(MySQLdb.cursors.DictCursor)
st = "SELECT tmp, watts FROM currentcost WHERE dt ='" + dtbox + "' and tm like '" + tmbox + "%'"
cur.execute (s)
rows = cur.fetchall()
x=""
y=""
for row in rows:
x=x+row["watts"]+","
y=y+row["tmp"]+","
x="data:["+x+"]"
y="data:["+y+"]"
con.close()
req.write(st)
EDIT.
mod_python을 ERRORProcessId : 3424Interpreter : 여기
내가 크롬의 콘솔을 통해 다시 받고 있어요 응답입니다 '127.0.1.1'ServerName'127.0.1.1'DocumentRoot : '은/var/www'URI :'/ currentcost.py '위치 : NoneDirectory :'/ var/www/'파일 이름 :'/var/www/currentcost.py'PathInfo : ''단계 : 'PythonHandler'Handler :'mod_python.publisher'Traceback (마지막 호출 마지막) : 파일 "/usr/lib/python2.7/dist-packages/mod_python/importer.py", 1537 줄, HandlerDispatch 기본 = default_handler, arg = req, silent = hlist.silent) 파일 "/ usr/lib/python2 /etr/lib/python2.7/dist-packages/mod_python/importer에서 ".7/dist-packages/mod_python/importer.py", 1229 번 줄을 참조하십시오. py ", 1128 줄, _execute_targe t result = object (arg) 파일 "/usr/lib/python2.7/dist-packages/mod_python/publisher.py", 라인 204, 핸들러 모듈 = page_cache [req] 파일 "/usr/lib/python2.7 /dist-packages/mod_python/importer.py ", 줄 1059, getitem return import_module (req.filename) 파일"/usr/lib/python2.7/dist-packages/mod_python/importer.py "줄 296 in import_module log, import_path) import_module execfile (file, module.)의 "/usr/lib/python2.7/dist-packages/mod_python/importer.py"파일의 680 행을 참조하십시오. dict) 파일 "/var/www/currentcost.py", 17 행 getReqStr = env_vars [ 'QUERY_STRING'] '뒤에 URL?^SyntaxError : EOL을 검색하는 동안 문자열 리터럴 모델 캐시 세부 액세스 날짜 : 2010 년 9 월 26 일 09:18:30 2013Generation : 0_mp_545c0d0056a74a40503ad1da7dbb26e2 {FileName : '/var/www/currentcost.py'인스턴스 : 1 [가져 오기] 생성 : 0 [오류] 수정 됨 : 목 Sep 26 09:10:57 2013}
'QUERY_STRING'은'env_vars'에도 존재하지 않을 수 있습니다. 아마도 'KeyError' 예외를 발생시킬 수 있습니다 ... 전체 추적을 할 수 있습니까? –
@Andre 전체 추적으로 소식을 업데이트했습니다. –