FLASK_ENV, кажется, игнорируется (не может войти в среду отладки) - PullRequest
0 голосов
/ 20 февраля 2019

В соответствии с документацией Flask,

Скрипт фляги удобен для запуска локального сервера разработки, но вам придется перезапускать его вручную после каждого изменения в вашем коде.Это не очень хорошо, и Flask может сделать лучше.Если вы включите поддержку отладки, сервер перезагрузит себя при изменении кода, а также предоставит вам полезного отладчика, если что-то пойдет не так.

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

$ export FLASK_ENV=development 
$ flask run

Однако в моем очень простом примере изменения кода не вступят в силу, пока я не перезапущу сервер.Я настроил конкретный скрипт, который хочу запустить с export FLASK_APP=hello.py, и скрипт выглядит следующим образом:

from flask import Flask, url_for, request, render_template
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!!"

Пока сервер разработки Flask работает, я изменяю возвращаемое значение, добавляя или удаляявосклицательный знак и сохранение файла.Затем я обновляю страницу на http://127.0.0.1:5000/ в Chrome, но количество восклицательных знаков не меняется.Когда я заканчиваю Flask в терминале, используя Ctrl-C, перезагружаю его и снова обновляю страницу, я получаю правильное количество восклицательных знаков.

Это на Mac, Python 3.6.0 (Anaconda),Flask 0.12.

Не понимаю ли я, как сервер разработки может мне помочь, или, по-вашему, мне стоит что-нибудь проверить?Я совсем новичок во Фляске.

1 Ответ

0 голосов
/ 20 февраля 2019

Попробуйте

FLASK_APP=app.py FLASK_DEBUG=1 TEMPLATES_AUTO_RELOAD=1 flask run

FLASK_DEBUG даст вам поведение, которое вы ищете сейчас;TEMPLATE_AUTO_RELOAD даст вам необходимое поведение, как только вы начнете использовать шаблоны.

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