未定义jsonify - 内部服务器错误

TJ *_*dle 12 python json flask internal-server-error

玩Flask,只是想打印一些JSON格式的数据,但我不断收到错误:

NameError:未定义全局名称"jsonify"

from flask import Flask
from flask import json
app = Flask(__name__)

@app.route("/")
def testJSON():
        x = "Test1"
        y = "Test2"
        return jsonify(a=x,z=y)

if __name__ == "__main__":
        app.debug = True
        app.run()
Run Code Online (Sandbox Code Playgroud)

他们的文档说我需要安装Python 2.6或simplejson - 我有两个.

Python 2.7.3:

sys.version'2.7.3(默认,2012年5月9日,23:42:16)\n [GCC 4.4.3]'

simplejson:

root @ Python:〜/ PythonScripts #pip install simplejson要求已经满足(使用--upgrade升级):/usr/local/lib/python2.7/site-packages中的simplejson清理...

ber*_*nie 47

jsonify() flask模块中包含的函数.

所以你需要导入它.
将脚本的开头更改为:

from flask import jsonify # <- `jsonify` instead of `json`
Run Code Online (Sandbox Code Playgroud)

  • 你可以做`from flask import*`但我强烈建议不要这样做,因为这样做会导致各种难以调试的命名空间错误.如果你有很长的导入列表,并希望分成几行,你可以用括号/ parens括起来,例如:`from flask import(fn1,fn2,fn3)` (2认同)