Конфигурация Flask не загружается при использовании команды Flask - PullRequest
0 голосов
/ 09 марта 2019

Я попытался загрузить конфиг колбы, используя config.from_pyfile и config.from_object.Для упрощения я поместил объект конфигурации в тот же файл, что и мой объект приложения Flask, и напечатал некоторые ключи конфигурации после их установки.

flask_app = Flask(__name__, instance_relative_config=True)


class Config():
    SQLALCHEMY_DATABASE_URI = "postgresql://root:root@localhost/root"

    FLASK_DEBUG = True
    FLASK_ENV = "development"
    DEBUG = True
    ENV = "development"


flask_app.config.from_object(Config)

#this gets printed in both cases as - True
#but the server is not in debug mode
print(flask_app.config['FLASK_DEBUG'])

Теперь, когда я запускаю сервер, используя -

python run.py

run.py, содержащий основной метод, выполняющий сервер, конфигурация загружена правильно, и я могу использовать режим DEBUG, но если я запускаю свой сервер, используя Flask run, конфигурация не загружаетсядаже если обновленный конфиг напечатан.

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

В вашем приложении Pycharm, в правом верхнем углу, есть кнопки воспроизведения, остановки, паузы рядом с выпадающим меню, из выпадающего меню вам нужно перейти в настройки веб-приложения колбы, в этом новом окне есть это флажок, который нужно установить для запуска отладочной среды.

Этот ответ особенно актуален, если вы использовали Pycharm для создания первоначального проекта.

0 голосов
/ 09 марта 2019

Вы пытаетесь запустить приложение, используя фабрики приложений, доступные в колбе. В вашем случае вы должны настроить свою функцию приложения следующим образом:


class Config():
    SQLALCHEMY_DATABASE_URI = "postgresql://root:root@localhost/root"

    FLASK_DEBUG = True
    FLASK_ENV = "development"
    DEBUG = True
    ENV = "development"


def create_app(config_filename):
    app = Flask(__name__)
    app.config. from_object(Config)

    from yourapplication.model import db
    db.init_app(app)

    #==========================
    #Your other initilazations
    #==========================
    return app

и затем выполните команду flask run

Я надеюсь, что это сработает для вас. Для более подробной информации посетите http://flask.pocoo.org/docs/1.0/patterns/appfactories/

Дайте мне знать, если что-то пошло не так.

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