Не работает маршрут колбы из другого файла - PullRequest
0 голосов
/ 06 сентября 2018

Я начал создавать приложение на основе 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, он работает. Что мне здесь не хватает?

EDIT

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})

структура dir:

project_name/
--- my_app/
----- __init__.py
----- views.py
--- app.py

РЕДАКТИРОВАТЬ 2 Как я упоминал в комментарии, я переместил все из init .py в файл app.py, и он все еще не работает, но когда я добавил в app.py один дополнительный импорт, после app = Колба ( имя ), все работает. Импорт

from my_app import views

Когда я пытаюсь добавить этот импорт раньше, у меня есть круговой импорт

...