これはフラスコ安静ドキュメントのサンプルコードです
from flask import Flask
from flask.ext import restful
app = Flask(__name__)
api = restful.Api(app)
class HelloWorld(restful.Resource):
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run(debug=True)
HelloWorld
クラスは同じpythonファイルにあります。たとえば、app.py
動作します。
次にHelloWorld
、次のレイアウトのように、クラスを別のクラス ファイルに配置します。
app
app/__init__.py # hold above code except the HelloWorld class.
app/resource
app/resource/__init__.py # empty
app/resource/HelloWorld.py # hold the above HelloWorld class.
含まれるapp/__init__.py
もの:
from flask import Flask
from flask.ext import restful
from resource.HelloWorld import HelloWorld
app = Flask(__name__)
api = restful.Api(app)
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run(debug=True)
そして、次のHelloWorld.py
とおりです。
from flask.ext import restful
from app import app
class HelloWorld(restful.Resource):
def get(self):
return {'hello': 'world'}
アプリを実行すると例外が発生します:
ImportError: No module named app on HelloWorld.py
のような情報を読むためにアプリにアクセスする必要がありますapp.config
。どうすれば機能させられますか?