2012-05-23 24 views
6

बोतल के साथ चारों ओर खेलने और बस कुछ डेटा बाहर मुद्रित करने के लिए के रूप में JSON स्वरूपित चाहता था, लेकिन मैं त्रुटि प्राप्त हो रही:jsonify परिभाषित किया गया है नहीं - आंतरिक सर्वर त्रुटि

NameError: global name 'jsonify' is not defined

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 की आवश्यकता है - मेरे पास दोनों हैं।

अजगर 2.7.3:

sys.version '2.7.3 (default, May 9 2012, 23:42:16) \n[GCC 4.4.3]'

simplejson:

[email protected]:~/PythonScripts# pip install simplejson Requirement already satisfied (use --upgrade to upgrade): simplejson in /usr/local/lib/python2.7/site-packages Cleaning up...

उत्तर

21

jsonify()is a function contained within the flask module

तो आपको इसे आयात करने की आवश्यकता होगी।
बदलें करने के लिए अपनी स्क्रिप्ट की शुरुआत:

from flask import jsonify # <- `jsonify` instead of `json` 
+0

बढ़िया है, धन्यवाद! और हाँ @ टिफमास्टर सही है - यह जो कुछ भी प्रिंटिंग समाप्त होता है, उदाहरण के लिए: {"a": "test1", "z": "test2"}। बस पाइथन शुरू किया - यह पता नहीं था कि दस्तावेज़ कैसे स्थापित किए गए थे, जो अब समझ में आता है। पुस्तकालय का एक बड़ा हिस्सा आयात करने का कोई तरीका है? (जावा में की तरह आप Java.util आयात कर सकते हैं। *) इसके अलावा - मैंने अभी पेज को रीफ्रेश किया है और मुझे थिफ़ास्टर की नई टिप्पणी दिखाई दे रही है, लेकिन मुझे किसी और ने उस बिंदु को नहीं देखा। –

+2

आप 'फ्लास्क आयात * से' कर सकते हैं, लेकिन मैं * अत्यधिक * इसके खिलाफ अनुशंसा करता हूं क्योंकि ऐसा करने से सभी प्रकार की मुश्किल-से-डीबग नेमस्पेस त्रुटियां हो सकती हैं। यदि आपके पास आयात की लंबी सूची है और आप कई लाइनों में विभाजित करना चाहते हैं तो आप ब्रैकेट/पैरों में संलग्न हो सकते हैं, उदाहरण: 'फ्लास्क आयात से (एफएन 1, एफएन 2, एफएन 3) ' – bernie

+0

जानना अच्छा है! मैं मुख्य रूप से अव्यवस्था से चिंतित था क्योंकि मैं एक कोड साफ फिक्र हूं - ताकि यह सही काम कर सके! –

संबंधित मुद्दे