2

これはフラスコ安静ドキュメントのサンプルコードです

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。どうすれば機能させられますか?

4

1 に答える 1