Python WSGI 输出错误
Python WSGI Error on Output
我的 python 已经很生疏了,因为我已经有一段时间没有使用它了,并且遇到了一个我无法弄清楚的问题。
python 程序应该接受网页发送的表单数据,return 一些 JSON 响应代码返回给它。一切正常,除了发送数据时:
def application(environ, start_response):
""" Process the form data, spit out the reponse """
# code here extracts the form
# data and the response code is
# stored in info
# everything done, output now
output(environ, start_response, info)
def output(environ, start_response, info):
# debug
print >> environ['wsgi.errors'], "BACK TO THE BROWSER"
feedback = json.dumps(info)
# debug
print >> environ['wsgi.errors'], feedback
status = "200 OK"
headers = [('Content-Type', 'application/json; charset=UTF-8'), ('Content-Length', str(len(feedback)))]
start_response(status, headers)
return [feedback]
错误日志显示:
...
[wsgi:error] ... BACK TO THE BROWSER
[wsgi:error] ... {"errors": [1430360477881, 1430233459050]}
[wsgi:error] ... mod_wsgi (pid=1654): Exception occurred processing WSGI script '/tmp/mod_wsgi-localhost:8000:0/htdocs/'.
[wsgi:error] ... TypeError: 'NoneType' object is not iterable
...
好的,Python 正在抱怨它期望可迭代的东西是 None。但是 Python 在这个函数中抱怨的是哪个可迭代对象? (请注意,我直接使用 mod_wsgi,没有任何框架/模块)。
您需要return回复:
return output(environ, start_response, info)
我的 python 已经很生疏了,因为我已经有一段时间没有使用它了,并且遇到了一个我无法弄清楚的问题。
python 程序应该接受网页发送的表单数据,return 一些 JSON 响应代码返回给它。一切正常,除了发送数据时:
def application(environ, start_response):
""" Process the form data, spit out the reponse """
# code here extracts the form
# data and the response code is
# stored in info
# everything done, output now
output(environ, start_response, info)
def output(environ, start_response, info):
# debug
print >> environ['wsgi.errors'], "BACK TO THE BROWSER"
feedback = json.dumps(info)
# debug
print >> environ['wsgi.errors'], feedback
status = "200 OK"
headers = [('Content-Type', 'application/json; charset=UTF-8'), ('Content-Length', str(len(feedback)))]
start_response(status, headers)
return [feedback]
错误日志显示:
...
[wsgi:error] ... BACK TO THE BROWSER[wsgi:error] ... {"errors": [1430360477881, 1430233459050]}
[wsgi:error] ... mod_wsgi (pid=1654): Exception occurred processing WSGI script '/tmp/mod_wsgi-localhost:8000:0/htdocs/'.
[wsgi:error] ... TypeError: 'NoneType' object is not iterable
...
好的,Python 正在抱怨它期望可迭代的东西是 None。但是 Python 在这个函数中抱怨的是哪个可迭代对象? (请注意,我直接使用 mod_wsgi,没有任何框架/模块)。
您需要return回复:
return output(environ, start_response, info)