Как использовать Flask .route с Flask - PullRequest
0 голосов
/ 08 января 2020

Краткое введение в структуру каталогов выглядит следующим образом:
enter image description here

__init__.py содержит фабрику приложений.

page.py

from app import app


# a simple page that says hello
@app.route('/hello')
def hello():
    return 'Hello, World!'

app.py

from flaskr import create_app

app = create_app()


if __name__ == '__main__':
    app.run()

Когда я запускаю сервер и go для '/ hello', он говорит 404. В чем проблема?

Ответы [ 2 ]

0 голосов
/ 08 января 2020

Вот краткое решение, которое должно быть запущено.

page.py

from flaskr import app

@app.route('/hello')
def hello():
    return 'Hello'

__ index __. Py

from flask import Flask

app = Flask(__name__)

from flaskr import page

app.py

from flaskr import app

Чтобы выполнить это, вам просто нужно определить переменную среды в командной строке следующим образом:

export FLASK_APP=microblog.py

И затем запустить ее с

flask run
0 голосов
/ 08 января 2020

То, как вы структурировали свой код, неверно. По этой причине вы не можете получить доступ к своему "/ привет" API.

Предположим, что вы запустили файл app.py. В этом случае вы не импортировали page.py, верно? Итак, как app.py узнает, что в page.py определен маршрут?

В качестве альтернативы, давайте предположим, что вы запускаете page.py. В этом случае, когда вы делаете «из приложения импорта приложения», основное определение не выполняется. Здесь также будет присутствовать маршрут, но приложение не будет запущено, поэтому вы не сможете получить доступ к своему API.

Самое простое решение - объединить содержимое app.py и page.py в один файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...