flask_blog/README.md

5.7 KiB
Raw Permalink Blame History

Создайте виртуальную машину

https://yandex.cloud/ru/docs/tutorials/web/flask

1. Создайте виртуальную машину:

2. Создайте и активируйте виртуальное окружение.

2.1. Подключиться к серверу

2.2. Cоздайте поддиректорию проекта flask_blog

mkdir flask_blog && cd flask_blog

2.3 Установите модуль создания виртуальных сред venv:

sudo apt install python3-pip
sudo apt install python3.12-venv

2.4. Создайте виртуальное окружение env:

python3 -m venv env

2.5. Активируйте созданное виртуальное окружение:

source env/bin/activate

После активации виртуального окружения в командной строке появится префикс с именем окружения:

Примечание

Чтобы эффективно отслеживать процесс разработки проекта и управлять им, вы можете использовать систему контроля версий. В этом случае добавьте директорию env в файл .gitignore, чтобы не отслеживать файлы, не связанные с проектом.

Чтобы деактивировать виртуальное окружение, выполните команду:

deactivate

3.Установите Flask:

pip install flask

Создайте и запустите приложение

Создайте простое веб-приложение внутри файла Python и запустите его для начала работы сервера.

  1. В директории проекта flask_blog создайте и откройте файл app.py:
nano app.py

Этот файл позволяет понять, как приложение будет обрабатывать HTTP-запросы.

  1. Добавьте в файл следующий код:
from flask import Flask

app = Flask(__name__)


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

В этом коде:

Импортируется объект Flask из пакета flask.
Создается экземпляр приложения Flask с именем app. Специальная переменная __name__ содержит имя текущего модуля Python и указывает экземпляру его расположение. Это необходимо, так как Flask устанавливает ряд путей внутри приложения.
С помощью декоратора @app.route('/') функция Python превращается в функцию визуализации Flask. Функция визуализации конвертирует возвращаемое значение в HTTP-ответ, который может быть обработан HTTP-клиентом, таким как веб-браузер. Значение '/' в маршруте @app.route() устанавливает, что эта функция будет отвечать на веб-запросы для URL /, который является основным URL-адресом веб-приложения.
Создается функция hello(), которая возвращает строку Hello, World! в качестве ответа.

Сохраните и закройте файл app.py. 3. Задайте переменные окружения Flask:

export FLASK_APP=app && export FLASK_DEBUG=true

Где:

FLASK_APP=app указывает на расположение приложения — файла app.py.
FLASK_DEBUG=true указывает, что приложение необходимо запустить в режиме разработки.
  1. Запустите приложение:
flask run  --host=0.0.0.0

Где параметр --host=0.0.0.0 запускает сервер приложения на всех IP-адресах виртуальной машины. Не указав этот параметр, вы не сможете обратиться к приложению по публичному IP-адресу ВМ.

Для нас важна следующая информация:

Название работающего приложения — app.
Debug mode: on означает, что отладчик Flask работает. Эта функция полезна при разработке, так как при возникновении проблем она выдает детализированные сообщения об ошибках, что упрощает работу по их устранению.
Приложение работает на всех адресах.

Вы можете изменить порт веб-сервера на любое другое значение, задав дополнительный параметр --port=<номер_порта>. Например, команда flask run --host=0.0.0.0 --port=5001 запустит веб-сервер Flask на порте 5001.

  1. Откройте браузер и введите в адресной строке http://<публичный_IP-адрес_ВМ>:5000/.

Браузер отобразит строку Hello, World!. Это подтверждает, что ваше приложение успешно работает и к нему можно обращаться из интернета.

Создайте и настройте шаблоны HTML