我开始构建基于Flask的应用程序。这个想法是使用REST API玩一些,没有任何HTML等,只是简单的JSON响应。
如果我将所有内容都放在一个文件中,那么一切似乎都可以正常工作。
tasks = [ # pylint: disable=C0103
{
'id': 1,
'title': 'First',
'content': u'First task'
},
{
'id': 2,
'title': 'Second',
'content': u'Second task'
}
]
app = Flask(__name__)
@app.route('/api/v1.0/tasks/', methods=['GET'])
def get_tasks():
"""
[GET] Retrieves all tasks
"""
return jsonify({'tasks': tasks})
if __name__ == '__main__':
app.run(debug=True)
当我运行我的烧瓶应用程序时,这非常完美。当我要将其移动到其他文件时,问题就开始了。我只是将 get_tasks 方法移至/my_app/views.py并将声明 app = Flask( name )声明为my_app / init .py。当然,我在主要的app.py文件中添加了导入。服务器正常启动,但是我无法获得结果。当我将方法移回app.py时,它可以工作。我在这里想念什么?
编辑
app.py
from my_app import app
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
views.py
from flask import jsonify
from my_app import app
@app.route('/api/v1.0/tasks/', methods=['GET'])
def get_tasks():
"""
[GET] Retrieves all tasks
"""
tasks = [ # pylint: disable=C0103
{
'id': 1,
'title': 'First',
'content': u'First task'
},
{
'id': 2,
'title': 'Second',
'content': u'Second task'
}
]
return jsonify({'tasks': tasks})
目录结构:
project_name/
--- my_app/
----- __init__.py
----- views.py
--- app.py
编辑2 正如我在评论中提到的,我将所有内容从 init .py移到了app.py文件中,但仍然无法正常工作,但是当我在app.py中添加了一个额外的导入后, = Flask(名称),它可以工作。导入为
from my_app import views
当我尝试添加此导入之前,我有循环导入