Как запустить полное учебное приложение Flask в Wingware IDE? - PullRequest
2 голосов
/ 09 апреля 2020

Как запустить полное приложение Flask Tutorial в Wingware IDE?

Я уже некоторое время использую Flask под Wing Pro 7.2 и могу получить контроль, потому что я запускаю Flask выполнив app.run () в Wing.

Я задумал wi sh, чтобы проследить через официальную рабочую версию законченного урока, полученную git клоном https://github.com/pallets/flask* 1007. *

Это прекрасно работает (используя 'flask run'), и теперь у меня есть полный исходный код. Но app.run () нигде нет. Я попытался поместить один в init .py:

    def create_app(test_config=None):
        #...
        db.init_app(app)
        return app

    RUN = True
    if RUN:
        app= create_app()
        app.run()

и flask запускается, но выдает ошибку по запросу 'localhost: 5000 /', который обычно запускает базу данных сформироваться.

Есть ли где-нибудь начальная точка в коде Python?

Или возможно ли присоединить Wing к работающему flask и рассказать об исходных файлах? В руководстве Wing есть кое-что о присоединении, но, похоже, требуется информация о цели, которой нам не хватает.

1 Ответ

1 голос
/ 09 апреля 2020

Мне удалось запустить учебник, создав файл main.py в том же каталоге, что и пакет flaskr, с таким содержимым:

import flaskr
app = flaskr.create_app()
app.debug = False
app.run(use_reloader=True)

Затем я установил его в качестве основного файла отладки в Wing.

Для корректной работы отладки вам также может потребоваться установить для исполняемого файла Python в Свойствах проекта (из меню «Проект») значение командной строки Python или активированный env, который вы хотите использовать.

Кроме того, важно установить Отладка / Выполнить> Отладка дочерних процессов в свойствах проекта на Всегда отлаживать дочерние процессы. В противном случае процесс, на самом деле выполняющий код приложения, не будет отлажен.

Это работает, но приводит к ошибке SQL, потому что таблица 'post' не существует, если вы еще не выполнили следующее для инициализации базы данных :

$ export FLASK_APP=flaskr
$ export FLASK_ENV=development
$ flask init-db

Как только я это сделал, у меня все заработало.

...