FLASK RUN все еще работает, несмотря на переименование указанного файла FLASK_APP - PullRequest
0 голосов
/ 13 января 2020

Я следую учебному пособию по FLASK. Первоначально маршруты были определены в файле root, который называется «flaskblog.py». Мне пришлось установить переменную FLASK_APP в "flaskblog.py", чтобы "flask run" работал.

Позже в этом уроке проект был реструктурирован в пакеты, и "flaskblog.py" файл переименован в «run.py». Была создана папка (то есть пакет) с именем "flaskblog".

К моему удивлению, "flask run" все еще работал, и даже, кажется, помечает, что использует "flaskblog.py" ... но это больше не существует.

Структура папки:

(base) C:\flask_blog>tree /F
Folder PATH listing for volume OSDisk
Volume serial number is 36E9-84F4
C:.
│   run.py
│   site.db
│
├───.vscode
│       launch.json
│
├───flaskblog
│   │   forms.py
│   │   models.py
│   │   routes.py
│   │   site.db
│   │   __init__.py
│   │
│   ├───static
│   │       main.css
│   │
│   ├───templates
│   │       about.html
│   │       css.html
│   │       home.html
│   │       layout.html
│   │       layout_plain.html
│   │       login.html
│   │       register.html
│   │
│   └───__pycache__
│           forms.cpython-37.pyc
│           models.cpython-37.pyc
│           routes.cpython-37.pyc
│           __init__.cpython-37.pyc
│
└───__pycache__
        app.cpython-37.pyc
        flaskblog.cpython-37.pyc
        forms.cpython-37.pyc
        models.cpython-37.pyc

Обратите внимание на отсутствие "flaskblog.py".

Посмотрите, что я получу, когда использую "flask run ":

(ariel) C:\flask_blog>SET FLASK_APP=flaskblog.py

(ariel) C:\flask_blog>flask run
 * Serving Flask app "flaskblog.py"
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
C:\ProgramData\Anaconda3\envs\ariel\lib\site-packages\flask_sqlalchemy\__init__.py:835: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.
  'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

run.py - это просто:

from flaskblog import app

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

эффективно это вызывается, только если я хочу запустить приложение, используя" python run.py " , а не "flask run".

1 Ответ

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

Вы устанавливаете Flask Имя приложения как flaskblog.py с помощью команды

SET FLASK_APP=flaskblog.py

Если вы сбросите его, оно будет иметь новое имя

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