Рубрики
Без рубрики

Работа с PostgreSQL и Flask_SQLALCHEMY

В этой статье мы рассмотрим создание и подключение простого веб -приложения, созданного с колбой; Pyt … Tagged Flask, Python, Sqlalchemy, Postgres.

В этой статье мы рассмотрим создание и подключение простого веб -приложения, созданного с колба ; MicroFramework на основе Python, к Postgresql база данных. Здесь мы будем использовать SQLALCHEMY который является объектно-реляционным отображением для Python. Без лишних слов, давайте направимся прямо в это.

PS: Я предполагаю, что у вас уже установлен Python и Flask, поэтому я не буду вдаваться в подробности об этом. Если вы этого не сделаете, вы можете посетить Веб -сайт Python Чтобы загрузить его, затем запустите следующую команду в вашем терминале, чтобы установить колбу.

$ pip install flask

Что такое postgresql?

Согласно своей странице в Википедии, «PostgreSQL, также известный как Postgres, представляет собой бесплатную систему управления база данных с открытым исходным кодом (RDBMS), подчеркивающая расширяемость и соответствие SQL» – Википедия

Что отличает постгры от других реляционных баз данных, таких как Mysql является фактом, что он ориентирован на объект и поставляется с большим количеством вариантов использования и функций, что важно для запуска некоторых приложений.

В настоящее время я работаю над операционной системой Linux (попугай, чтобы быть конкретным). Так что мы будем проходить эти процессы по пути Linux. Ваше здоровье.

Установка Postgres

Если это как я, вы используете последнюю версию вашего Linux Distro, то вполне вероятно, что на вашем компьютере уже установлено Postgres. Тогда вы можете пропустить это. Однако, если у вас его нет, вы можете пройти процесс ниже, чтобы установить его.

Во -первых, создать конфигурацию репозитория файла

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Затем импортируйте ключ подписания репозитория

$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Затем иди вперед, чтобы обновить список пакетов

$ sudo apt-get update

Со всеми это сделано, вы можете установить PostgreSQL, выполнив

$ sudo apt-get install postgresql

Запуск сервера

С помощью выполненной установки мы можем начать запустить сервер Postgres, выполнив следующее в нашем терминале

$ sudo service postgresql start
[sudo] password for user:
$

Как только это работает без каких -либо проблем, мы знаем, что наш сервер работает. При этом давайте продолжим создавать нашего пользователя, а затем нашу базу данных. Мы создаем здесь нового пользователя, потому что это плохая практика использовать пользователя Postgres (личное мнение). Для этого мы вводим следующее, чтобы попасть в Postgres CLI.

$ sudo -i -u postgres

Из приведенной выше команды мы получаем подсказку, аналогичную этой

postgres@parrot:~$

Затем мы продолжаем вводить в PSQL

postgres@parrot:~$psql
...
...
postgres=#

Это приводит нас к интерактивной среде Postgres, где мы можем запускать общие запросы SQL, а также специальные команды Postgres.

Создание пользователя

Мы переходим к созданию пользователя, набрав команду SQL для этого.

postgres=# CREATE ROLE user WITH CREATEDB LOGIN PASSWORD 'password';

Здесь мы создали пользователя с возможностью создания баз данных, а также дали пользователю пароль для входа в систему (пароль).

Затем мы можем создать базу данных для этого конкретного пользователя, выполнив

postgres=# CREATE DATABASE ourdb WITH OWNER user;

С этим мы создали базу данных с именем ORDB для Пользователь Анкет Выйдите из среды, набрав \ Q и Выход один за другим.

Чтобы узнать больше на PostgreSQL, посетите страницу здесь

Создание нашего веб -приложения

Далее мы будем создавать наше простое веб -приложение с помощью Flask, MicroFramework для языка программирования Python. Подробнее об этом Здесь Анкет

Мы настроим простое приложение, сделав

from flask import Flask

app = Flask(__name__)

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

if __name__ == "__main__":
    app.run()

Мы будем использовать Flask_sqlalchemy для подключения к нашей базе данных Postgres, которую мы создали ранее. Но сначала,

Что такое flask_sqlalchemy?

«Flask-Sqlalchemy-это расширение для колбы, которая добавляет поддержку SQLalchemy к вашему заявлению. Он направлен на упрощение использования SQLalchemy с помощью Flask, предоставляя полезные значения по умолчанию и дополнительных помощников, которые облегчают выполнение общих задач ». – Пипи

SQLALCHEMY?

«SQLalchemy – это инструментарий Python SQL Toolkit и Object Relational Mapper, который дает разработчикам приложений полную мощность и гибкость SQL.

Он обеспечивает полный набор известных моделей упорства на уровне предприятия, предназначенных для эффективного и высокопроизводительного доступа к базе данных, адаптированный к простому и питоническому языку домена ». SQLALCHEMY

При этом мы можем перейти к написанию наших конфигураций, создавая наши таблицы баз данных (также известные как модели ) и подключение к базе данных.

Мы делаем наше приложение Flask более работоспособным, добавив следующие строки

from flask import Flask
from flask_sqlalchemy import SQLAlchemy  # 1

app = Flask(__name__)
app.config['SECRET_KEY'] = "xxxxxxxx"    # 2

db = SQLAlchemy(app)

# our database uri
username = "user"
password = "password"
dbname = "ourdb"

app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://{username}:{password}@localhost:5432/{dbname}"

if __name__ == "__main__":
    app.run()

Мы также создаем нашу модель, добавив класс сразу после конфигурации базы данных

# basic model
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(64), unique=True, index=True)
    password = db.Column(db.String(128))

if __name__ == "__main__":
    app.run()

При этом мы можем затем создать наши таблицы для базы данных, выполнив терминал. Однако, прежде чем мы это сделаем, мы должны установить библиотеку, чтобы помочь Python подключиться к базе данных PostgreSQL. Библиотека известна как psycopg2 Анкет

Мы можем установить это, запустив код ниже в терминале

$ pip install psycopg2

Если по причинам зависимости, мы получим ошибку, мы можем сделать

$ pip install psycopg2-binary

С помощью этого мы можем приступить к созданию нашей таблицы. Подключение к базе данных происходит здесь. Мы открываем сеанс оболочки Python в терминале и выполняем следующие команды

$ python
...
>>>from ourapp import app, db, User
>>>app.app_context().push()
>>>db.create_all()
>>>

Пока это работает без каких -либо ошибок, мы успешно подключились к нашей базе данных и создали таблицу пользователя. Затем мы можем заполнить DB, либо перейдя в нашу базу данных и выполнив команды SQL для этого

т.е.

$ sudo -i -u postgres

Затем мы вводим базу данных ORDB принадлежит Пользователь со следующей командой. (Пароль потребуется здесь. Для нас пароль пароль )

psql -h -d -u <имя пользователя> -p <порт> т.е.

postgres@parrot:~$ psql -h localhost -d ourdb -U user -p 5432

Это потребовало бы нашего пароля, а затем перенесет нас в интерактивную среду командной строки, где мы можем запустить команды SQL для заполнения нашей базы данных.

Мы также можем сделать это из нашей оболочки Python, поскольку Flask_sqlalchemy позволяет нам сделать это.

>>> from ourapp import app, db, User
>>>app.app_context().push()
>>>db.create_all()
>>>
>>>user = User(email="example@email.com", password="password_hash")
>>>db.session.add(user)
>>>db.session.commit()
>>>

При этом мы успешно создали пользователя и добавили детали в нашу базу данных.

Вывод

В этой статье мы узнали о PostgreSQL, как установить и работать с ней. Мы также создали простое приложение Flask и увидели, как создавать таблицы, подключить наше приложение Flask к базе данных и заполнить базу данных.

Я верю с этим, вы можете настроить свои проекты колбы для использования в базе данных PostgreSQL. Если у вас есть какие -либо вопросы, вы можете связаться со мной в Twitter @agba_dr3 Анкет

Ваше здоровье!

Оригинал: “https://dev.to/blankgodd/working-with-postgresql-and-flasksqlalchemy-3c38”