Подключение к базе данных Postgres SQL с помощью приложения Python Flask’ на Windows 11

Привет 👋, в этой статье мы рассмотрим, как подключиться к базе данных Postgres с помощью приложения Python Flask на Windows 11.

предварительные требования

  • наличие Python3, установленного на вашей машине Windows и прописанного в PATH вместо Python 2
  • чтобы проверить установку, просто найдите Python 3 в строке поиска стартового меню Windows

1. установите PostgresSQL на Windows 11

  • перейдите на страницу загрузки PostgreSQL и возьмите программу установки для Windows
  • запустите программу установки, используя настройки по умолчанию
  • вам будет предложено выбрать пароль для стандартной учетной записи Postgres, которая называется postgres в данном примере я буду использовать root (это очень плохой пароль)
  • также вас должны спросить, какой порт использовать для Postgres, по умолчанию 5432 тоже подходит
  • когда установка Postgres SQL завершена, вам не нужно запускать StackBuilder для дополнительных плагинов
  • теперь вы должны иметь возможность найти инструмент psql в строке поиска стартового меню Windows, это оболочка CLI, которая позволит вам взаимодействовать с вашей базой данных Postgres
  • При запуске оболочки вы можете выбрать сервер, базу данных, порт и пользователя, которого вы хотите использовать для соединения, которое вы только что открыли; эти поля предварительно заполнены значениями из вашей свежей установки, вам нужно будет только ввести пароль, который вы выбрали в предыдущих шагах.
  • теперь вы должны увидеть =>

2. список баз данных

  • psql предлагает удобные мета-команды для запуска на вашем сервере баз данных, например l, которая выведет список всех доступных баз данных.
  • среди выведенных баз данных вы должны увидеть postgres, а также template0 и template1; шаблонные базы данных используются при выполнении команды CREATE DATABASE, поскольку они будут скопированы для создания вашей новой базы данных, но пока мы будем придерживаться стандартной postgres.

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

Flask — это микрофреймворк с минимальным набором зависимостей, необходимых для создания веб-приложения:

  • контроллеры
  • управление cookies и сессиями
  • маршрутизация
  • сервер веб-разработки
  • CLI

Создайте новый проект с помощью вашей любимой IDE, и в корне этого проекта, файл app.py, давайте поместим туда начальный код для нашего приложения Flask:

from flask import Flask

 # creates an application that is named after the name of the file
app = Flask(__name__)

@app.route('/')
def index():
   return "it works"

# if running this module as a standalone program (cf. command in the Python Dockerfile)
if __name__ == "__main__":
   app.run(host="0.0.0.0")
Вход в полноэкранный режим Выйти из полноэкранного режима

Это просто говорит, что маршрут / нашего приложения Flask на localhost должен отображать некоторый текст. Но чтобы это работало, необходимо, чтобы Flask был установлен как модуль с помощью pip.

Вы можете сделать это, открыв оболочку CMD и нажав pip install Flask.
Теперь из оболочки CMD, которую вы только что открыли, вы можете cd в любой каталог, который вы создали для своего проекта.

Ваше приложение Flask должно знать, как загружать приложение, например, какова его точка входа; чтобы указать это, выполните set FLASK_APP=app.py.
Если вы хотите получить лучший опыт разработчика, вы также можете выполнить set FLASK_DEBUG=True.
Теперь вы готовы запустить приложение с помощью команды python -m flask run --host=0.0.0.0.

4. Подключите приложение Flask к вашему серверу базы данных

Мы будем использовать psycopg2, который является самым популярным адаптером PostgresSQL в мире Python. Сначала установим его с помощью pip install psycopg2 в вашем CMD.

Теперь мы можем обновить наш код app.py следующим образом =>

from flask import Flask
import psycopg2

 # creates an application that is named after the name of the file
app = Flask(__name__)

@app.route('/')
def index():
   conn = psycopg2.connect("postgresql://postgres:root@localhost:5432/postgres")
   return 'it works'

# if running this module as a standalone program (cf. command in the Python Dockerfile)
if __name__ == "__main__":
   app.run(host="0.0.0.0")
Войти в полноэкранный режим Выйти из полноэкранного режима

Строка postgresql://postgres:root@localhost:5432/postgres является именем источника данных для нашей базы данных:

Вы можете проверить успешность подключения, перейдя по адресу localhost:5000 в вашем браузере; например, поставьте другое значение в качестве пароля в DSN, и вы увидите сообщение об ошибке при следующей перезагрузке страницы.

5. подведение итогов + следующие шаги

Итак, то, что мы здесь сделали, — это очень базовая настройка, чтобы вы начали работать с Flask в среде Windows. Теперь вы можете выполнять SQL-запросы из своего веб-приложения, например, с помощью =>

# Open a cursor to perform database operations
cur = conn.cursor()

# Execute a query
cur.execute("SELECT * FROM my_data")

# Retrieve query results
records = cur.fetchall()
Вход в полноэкранный режим Выйти из полноэкранного режима

Теперь у вас есть необходимый минимум настроек для создания веб-приложений, которые поддерживаются данными 🙂

Тем не менее, после ознакомления с этим, если вы хотите пойти дальше, я советую вам в качестве следующих шагов:

  • использовать Windows WSL, чтобы иметь возможность запускать более распространенные команды Linux в процессе разработки
  • узнать, как докеризировать ваше приложение Flask’
  • использовать ORM, например SQLAlchemy, для взаимодействия с базой данных из веб-приложения».

Ну, вот и все, до встречи!

Оцените статью
devanswers.ru
Добавить комментарий