В этой статье мы рассмотрим создание и подключение простого веб -приложения, созданного с колба
; 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
т.е.
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”