-
Виртуальная среда 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:https://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>])