1
私は1ページでドキュメントを検索するための単一のテストを持っています。純粋なスクリプトのようにすべてのこの作業を理解するだけで、安らかなAPIのためではありません。フラスコ内の文脈、jsonfyのための、すべての単一のページ
私が使用したときに私の問題がある:
print (jsonify({'result' : output}))
私はこのエラーを取得しました:
RuntimeError: Working outside of request context.
This typically means that you attempted to use functionality that needed
an active HTTP request. Consult the documentation on testing for
information about how to avoid this problem.
私は
print (output)
でこの行を置き換え一切errosを持っていないし、持っているときドキュメント。
どのようにjsonifyのコンテキストを指定できますか?別の文脈の中で?
from flask import Flask
from flask import g
from flask import jsonify
from flask import request
from flask_pymongo import PyMongo
from flask import make_response
from bson.objectid import ObjectId
from flask import current_app
import sys
app = Flask(__name__)
app.config['MONGO_DBNAME'] = 'restdb'
app.config['MONGO_URI'] = 'mongodb://localhost:27017/crm1'
@app.errorhandler(404)
def not_found(error):
return make_response(jsonify({'error':'Notfound' }),404)
with app.app_context():
mongo = PyMongo(app)
star = mongo.db.accounts
output = []
for s in star.find():
output.append({'id': str(s['_id']) ,'firstname' : s['firstname'], 'lastname' : s['lastname']})
print (jsonify({'result' : output}))
#print (output)
if __name__ == '__main__':
app.run(debug=True)
私は()current_app.test_request_contextにして解決した。しかし、要求がないので、それは、requesの(jsonify)とは意味の仕事を持っていないのです。 .. – stackdave
あなたの応答を修正してください。python 3のためには丸い括弧が必要です:print(json.dumps(output)) – stackdave
あなたはハックを試みています。 http://stackoverflow.com/questions/7907596/json-dumps-vs-flask-jsonify –