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

时间:2012-05-23 20:30:21

标签: 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()

他们的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   清理......

2 个答案:

答案 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 *