-
Виртуальная среда Python
python -m venv venv. Первым venv в команде является имя пакета виртуальной среды Python, а второе — имя виртуальной среды -
Теперь вам нужно сообщить системе, что вы хотите ее использовать, активируя ее. Чтобы активировать новую виртуальную среду, используете следующую команду.
В Windows:venv\Scripts\activate; (илиsource venv/bin/activate) -
pip install -r requirements.txtобщепринятой практикой является создание файла
requirements.txtв корневой папке проекта с перечислением всех зависимостей и их версий. Создание списка:pip freeze > requirements.txtКоманда
pip freezeсоздаст дамп всех пакетов, установленных в виртуальной среде, в формате, соответствующем файлуrequirements.txt. -
Запуск
flask runи переменная средыFLASK_APP-
В терминале запустите приложение, введя
python -m flask run(для Windows), который запускает сервер разработки Flask. Сервер разработки ищетapp.pyпо умолчанию. -
Кроме того, если вы хотите запустить сервер разработки на другой IP-адрес или порт, используйте аргументы командной строки узла и порта, как
--host=0.0.0.0 --port=80
Если вы хотите использовать другое имя
app.pyфайла, напримерprogram.py, определите переменную среды с именемFLASK_APPи установите ее значение для выбранного файла. Затем сервер разработки Flask использует значениеFLASK_APPвместо файла по умолчаниюapp.pyВ данном случае Flask можно сообщить: В Windows:
set FLASK_APP=app.py; (илиexport FLASK_APP=app.py)Вы можете создать файл .env со всеми переменными среды, которые необходимы вашему приложению. Важно, чтобы вы не добавляли ваш .env-файл в систему управления версиями. Не стоит иметь файл, содержащий пароли и другую конфиденциальную информацию, включенный в репозиторий исходного кода.
.env-файл можно использовать для всех переменных временной конфигурации, но его нельзя использовать для переменных среды
FLASK_APPиFLASK_DEBUG, так как они необходимы уже в процессе начальной загрузки приложения, до того, как экземпляр приложения и его объект конфигурации появится. -
-
Сценарий flask хорош для запуска локального сервера разработки, но вам придется перезапускать его вручную после каждого изменения кода. Это не очень приятно, и фляжка может сделать лучше. Если вы включите поддержку отладки, сервер перезагрузится при изменении кода, а также предоставит вам полезный отладчик, если что-то пойдет не так.
Чтобы включить все функции разработки (включая режим отладки), можно экспортировать переменную среды
FLASK_ENVи установить ее в значение development перед запуском сервера:
В Windows:set FLASK_ENV=developmentПеременная среды
FLASK_ENVимеет значение по умолчаниюproductionВ Windows:set FLASK_ENV=productionВключить режим отладки в Windows:
set FLASK_DEBUG=1
Выключить в Windows:set FLASK_DEBUG=0 -
MongoDB
heroku config:set MONGOLAB_URI="mongodb://user:password@hostname:port/database" -
Flask сопоставляет URL и функции отображения, которые будут выводиться. Определение соответствий (маршрутизация) создается с помощью декоратора route или метода add_url_rule() в экземпляре Flask. Получить доступ к этим соответствиям можно с помощью атрибута url_map у экземпляра Flask.
print(app.url_map)
Map([<Rule '/post/new' (POST, HEAD, GET, OPTIONS) -> post_new>,
<Rule '/drafts' (OPTIONS, GET, HEAD) -> post_draft_list>,
<Rule '/index' (OPTIONS, GET, HEAD) -> index>,
<Rule '/' (OPTIONS, GET, HEAD) -> post_list>,
<Rule '/post/<primary_key>/publish' (OPTIONS, GET, HEAD) -> post_publish>,
<Rule '/post/<primary_key>/remove' (OPTIONS, GET, HEAD) -> post_remove>,
<Rule '/post/<primary_key>/edit' (POST, HEAD, GET, OPTIONS) -> post_edit>,
<Rule '/static/<filename>' (OPTIONS, GET, HEAD) -> static>,
<Rule '/post/<primary_key>' (OPTIONS, GET, HEAD) -> post_detail>,
<Rule '/<number>' (OPTIONS, GET, HEAD) -> show_number>])