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
,我怎样才能让它工作?