来自其他文件的烧瓶路由不起作用

时间:2018-09-06 14:22:08

标签: python rest flask routes

我开始构建基于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

当我尝试添加此导入之前,我有循环导入

0 个答案:

没有答案