मैं निम्नलिखित बोतल मार्गों और एक कस्टम सहायक:बोतल - कस्टम डेकोरेटर टूट जाता है मार्ग
from spots import app, db
from flask import Response
import simplejson as json
def json_response(action_func):
def create_json_response(*args, **kwargs):
ret = action_func(*args, **kwargs)
code = 200
if len(ret) == 2:
code = ret[0]
resp = ret[1]
else:
resp = ret[0]
return Response(
response=json.dumps(resp, indent=4),
status=code,
content_type='application/json'
)
return create_json_response
@app.route('/test')
@json_response
def test():
return 400, dict(result="Test success")
@app.route('/')
@json_response
def home():
return 200, dict(result="Home success")
मैं किसी GET/परीक्षण के लिए अनुरोध {"result":"Test success"}
की तरह कुछ वापस जाने के लिए उम्मीद करेंगे, लेकिन यह मामला नहीं है। इसके बजाए, कोई भी अनुरोध अंतिम मार्ग से मेल खाता प्रतीत होता है, यानी home
। क्यूं कर?
मुझे आश्चर्य है कि यह json_response
पर अलग-अलग कॉल के बीच इन्सुलेशन की कमी के कारण होता है?
अग्रिम धन्यवाद।
'कोड = ret [0]; resp = ret] [1] ''कोड, resp = ret' के रूप में neater होगा, और 'resp = = ret' ('] '('मुझे लगता है कि यह अभी भी नहीं है कि आप इसका उपयोग कैसे करना चाहते हैं , आपके फ़ंक्शन को 'वापसी {} 'की बजाय' वापसी {}, 'की आवश्यकता होगी। इसके अलावा, यह मेरे लिए सही लग रहा है। –
बस एक अनुमान - फ़ंक्शन का हस्ताक्षर टूटा हुआ है, आप [functools.wraps] (http://docs.python.org/library/functools.html#functools.wraps) को आजमा सकते हैं। – Vidul
मैं इस –