我試圖寫一個JSON視圖渲染裝飾在瓶下面的這個片段:http://flask.pocoo.org/snippets/18/查看在瓶
的事情是,我需要序列化JSON作爲,GAE模型,用於其中jsonify功能不起作用。對於這個我用下面的代碼:http://blog.worldmaker.net/2009/dec/08/simple-app-engine-json-serialization-snippet/
類似上面代碼片斷中的render_html例子,我寫了下面的代碼:
def render_json(result):
def wrapped(*args, **kwargs):
json_string = json.dumps(result, cls=GaeEncoder)
return app.response_class(response=json_string, mimetype='application/json')
return wrapped
的問題是,我調用飾有我的新功能裝飾,我得到以下錯誤:
AttributeError: 'Response' object has no attribute 'next'
任何人都可以指出這是怎麼回事? 謝謝!
馬科斯
編輯:這裏是回溯
Traceback (most recent call last):
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 208, in Handle
for chunk in result:
File "/Users/mchicote/Documents/projects/schoolnetwork/code/SchoolNetwork/sn/../lib/flaskext/gae_mini_profiler/profiler.py", line 286, in __call__
yield self.prof.runcall(result.next)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cProfile.py", line 149, in runcall
return func(*args, **kw)
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/appstats/recording.py", line 1284, in appstats_wsgi_wrapper
result = app(environ, appstats_start_response)
File "/Users/mchicote/Documents/projects/schoolnetwork/code/SchoolNetwork/sn/../lib/flaskext/gae_mini_profiler/profiler.py", line 269, in wrapped_appstats_app
return old_app(environ, start_response)
File "/Users/mchicote/Documents/projects/schoolnetwork/code/SchoolNetwork/sn/../lib/flask/app.py", line 1689, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Users/mchicote/Documents/projects/schoolnetwork/code/SchoolNetwork/sn/../lib/flask/app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "/Users/mchicote/Documents/projects/schoolnetwork/code/SchoolNetwork/sn/../lib/flask/app.py", line 1361, in full_dispatch_request
response = self.make_response(rv)
File "/Users/mchicote/Documents/projects/schoolnetwork/code/SchoolNetwork/sn/../lib/flask/app.py", line 1450, in make_response
rv = self.response_class.force_type(rv, request.environ)
File "/Users/mchicote/Documents/projects/schoolnetwork/code/SchoolNetwork/sn/../lib/werkzeug/wrappers.py", line 711, in force_type
response = BaseResponse(*_run_wsgi_app(response, environ))
File "/Users/mchicote/Documents/projects/schoolnetwork/code/SchoolNetwork/sn/../lib/werkzeug/wrappers.py", line 55, in _run_wsgi_app
return _run_wsgi_app(*args)
File "/Users/mchicote/Documents/projects/schoolnetwork/code/SchoolNetwork/sn/../lib/werkzeug/test.py", line 836, in run_wsgi_app
buffer.append(app_iter.next())
你能發佈完整的回溯(包括文件名和行號)嗎? –
沒問題,我會添加到原來的帖子。謝謝! –