使用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()
他们的documentation说我需要安装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 清理......
答案 0 :(得分:38)
jsonify()
is a function contained within the flask
module。
所以你需要导入它 将脚本的开头更改为:
from flask import jsonify # <- `jsonify` instead of `json`
答案 1 :(得分:-1)
似乎早先导入flask时默认包含了Jsonify函数,但现在当您编写时
import flask
它也不会导入 jsonify。您需要做的就是显式导入 jsonify
使用这个。
import flask
from flask import jsonify
这将为您启用 jsonify 功能
现在,您可能正在使用flask 中的其他东西,这可能会因不同的事情反复发生,所以您可能想要这样做,这将一次性导入 jsonify 和flask 的所有其他组件。
import flask
from flask import *