私はofficial docsのflask-RESTful
に続いて、最初のhello worldデモを実装しようとしています。python - Flask-RESTfulは404エラーを取得しますか?
まず、すべてのサンプルコードを1つのファイルに入れて、すべてのものが正常に動作します。
しかし、コードを3つに分割して(プロジェクトをより構造化しようとすると)、私はいつもエラーを得ました。
ファイルstucture
.
├── app.py
├── app
├── __init__.py
├── __api__.py
└── venv
__init__.py
# -*- coding: utf-8 -*-
#initialization
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
api.py
# -*- coding: utf-8 -*-
from app import app, api
from flask_restful import Resource, Api
class HelloWorld(Resource):
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
app.pyのpythonコンソールで
# -*- coding: utf-8 -*-
from app import app
if __name__ == '__main__':
app.run(debug=True)
:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger pin code: 250-643-552
127.0.0.1 - - [03/May/2016 22:35:20] "GET/HTTP/1.1" 404 -
127.0.0.1 - - [03/May/2016 22:35:24] "GET/HTTP/1.1" 404 -
127.0.0.1 - - [03/May/2016 22:38:15] "GET/HTTP/1.1" 404 -
間違っているのですか?
EDIT
私は今api.add_resource(HelloWorld, '/')
app.py
にapp.py(編集済み)
# -*- coding: utf-8 -*-
from app import app, api
from app.api import HelloWorld
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run(debug=True)
は理由を理解することはできません動きが期待する結果を得ることができますか?