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)