Включить режим отладки в Flask в рабочем режиме - PullRequest
0 голосов
/ 02 октября 2018

В бутылке все, что мне нужно сделать, чтобы включить режим отладки:

from bottle import debug

application = Bottle()
app = application
debug(True)

Как я могу сделать то же самое в среде Flask?

Ответы [ 4 ]

0 голосов
/ 11 января 2019

В версии 1.0 Flask вы можете настроить автоматический импорт переменных среды при запуске команды flask, однако вам необходимо установить python-dotenv.

Затем вы можете просто создать новый файл вкаталог верхнего уровня с именем .flaskenv и установите в нем переменные окружения:

FLASK_APP=run.py
FLASK_DEBUG=1
0 голосов
/ 02 октября 2018

Если вы находитесь в среде разработки;Вы можете просто указать его в Flask.run как указано здесь .

Пример:

app.run(host='0.0.0.0', port='8080', debug=True)

Вы также можете использовать другой подход визменив default_config, как показано здесь .

Пример:

app.config['DEBUG'] = True
app.run(host='0.0.0.0', port='8080')

или даже экспорт FLASK_DEBUG=1 - Имейте в виду, что FLASK_DEBUG переопределяет FLASK_ENV=development.

Когда высм. ниже Flask обозначает следующее:

Не включать режим отладки при развертывании в рабочей среде.

Хотя, как вы сказали, вы хотели бы включить отладку в рабочей среде;следовательно, почему бы мне не использовать Flask.run, поскольку он предназначен для использования в среде разработки, и я, конечно, не установил бы FLASK_ENV на development.

Я бы предложил вам переосмыслить концепцию отладки на производстве, поскольку производство не предназначено для отладки;Проще говоря, я полагаю, что ваше рассуждение о желании отладки на производстве неверно.

Другое возможное решение - использовать следующее (разветвленное, многопроцессное):

from werkzeug.debug import DebuggedApplication  
application = DebuggedApplication(app, True)
0 голосов
/ 02 октября 2018

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

app.config['ENV'] = 'development'
app.config['DEBUG'] = True
app.config['TESTING'] = True

Я бы также предложил установить переменные среды для среды и отладки.

$ export FLASK_ENV=development 
$ export FLASK_DEBUG=1
0 голосов
/ 02 октября 2018

http://flask.pocoo.org/docs/1.0/quickstart/#debug-mode

Его в документации:

Чтобы включить все функции разработки (включая режим отладки), вы можете экспортировать переменную среды FLASK_ENV и установить ее для разработки перед запуском сервера:

$ export FLASK_ENV=development
$ flask run

(В Windows вам нужно использовать set вместо экспорта.)

Это делает следующее:

активирует отладчик, активирует автоматический перегрузчиквключает режим отладки в приложении Flask.

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