PostgreSQL е един от най-добрите избори за защитена среда за съхранение. Научете как да го интегрирате с Django.
Добавянето на база данни към вашето приложение гарантира целостта и сигурността на данните. PostgreSQL (Postgres) е система за управление на база данни на структуриран език за заявки (SQL), която може да искате да разгледате.
Postgres поддържа повечето популярни операционни системи и е съвместим със съвременните езици за програмиране. Postgres също обработва различни типове данни и документи. Тъй като SQL уменията са много търсени, да се научите да конфигурирате и използвате PostgreSQL е предимство.
Ще научите как да инсталирате, конфигурирате и използвате Postgres в Django приложение. Освен това ще тествате функционалността на базата данни, като добавяте, съхранявате и извличате данни от базата данни.
1. Инсталирайте PostgreSQL на вашата система
Следните инструкции обясняват как да инсталирате Postgres на операционната система Ubuntu. Ако сте потребител на Windows, можете да следвате това ръководство стъпка по стъпка за инсталиране на Postgres на Windows.
Преди да инсталирате Postgres, актуализирайте пакетите с версии и техните зависимости със следната команда:
$ sudo apt-get update
След това инсталирайте PostgreSQL със следната команда:
$ sudo apt-get install postgresql postgresql-contrib libpq-dev
Когато бъдете подканени да потвърдите инсталацията, натиснете Y за да.
Свържете се със сървъра, като използвате следната команда:
$ sudo -i -u postgres
И след това използвайте клиента на базата данни, за да определите инсталираната версия на Postgres.
Изпълнете командата psql --версия.
postgres@nameofaccount:~$ psql --version
Резултатът ще покаже вашата версия на Postgres, както е показано по-долу:
psql (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)
Излезте от акаунта в Postgres, като стартирате изход команда.
postgres@nameofaccount:~$ exit
2. Създаване на база данни
Трябва да създадете база данни, която ще свържете с приложение на Django. Върнете се обратно в обвивката на Postgres и изпълнете следните команди последователно.
sudo -i -u postgres
$ psql
След това използвайте клиента, за да създадете база данни на сървъра.
postgres=# create database new_db;
Сървърът връща термина CREATE DATABASE, когато създава база данни. Можете също да проверите чрез изброяване на всички бази данни в системата с командата \l.
postgres=# \l
Структура на PostgreSQL
Подобно на типична SQL база данни, PostgreSQL съхранява данни в таблици. Таблиците представят различни елементи/модели в приложение. Таблиците имат фиксиран брой колони и редове.
Всяка таблица има определена колона, наречена първичен ключ, уникален идентификатор за всеки ред, съхранен в таблицата. Една таблица може също да има външен ключ, който я свързва с първичния ключ на друга таблица.
Външните ключове определят връзките между две таблици.
След това трябва да създадете приложение Django и да свържете базата данни. Но първо инсталирайте psycopg2 за да помогне за свързването на приложението и базата данни.
3. Инсталирайте Django и Psycopg2 библиотека
За да свържете Postgres с приложение Django, трябва да инсталирате psycopg2 библиотека. Това е зависимост от Postgres, която помага за свързване и комуникация с Django.
Изпълнете следната команда, за да инсталирате psycopg2 и Джанго:
$ pipenv install psycopg2 Django
4. Създайте приложение Django
Трябва да създадете приложение Django, което ще използва базата данни на Postgres. Първо създайте проект, наречен мибома за поддръжка на приложението. Django проектира автоматично генериране на зависимости и настройки на приложението, необходими за стартиране на приложението.
Създайте папка, наречена Boma-часовник и отидете до него със следните команди:
$ mkdir Boma-watch
$cd Boma-watch
След това създайте Django проект със следната команда:
$ django-admin startproject myboma .
Уверете се, че сте добавили точката в края на командата, в противен случай Django ще създаде нова папка, в която да се побере проекта.
След това създайте ново приложение, наречено бома със следната команда:
$ django startapp boma
Ако не сте работили с Django преди, можете започнете с ръководство за начинаещи за Django. След като стартирате приложението в браузъра, за да потвърдите, че работи, ще го свържете към базата данни в следващия раздел.
5. Свържете базата данни с приложението Django
Сега ще свържете вашето приложение Django към базата данни, която сте създали, като използвате следните стъпки:
Стъпка 1: Променете настройките на проекта, за да използвате Postgres
Трябва да промените настройките на проекта, за да свържете приложението Django към Postgres. Отидете до проекта settings.py файл. След това променете БАЗИ ДАННИ настройки, за да добавите вашите конфигурации на Postgres.
Сменете ПОТРЕБИТЕЛ и ПАРОЛА с твоя psql потребителско име и парола.
#...
DATABASES = {
'default': {
'ENGINE':'django.db.backends.postgresql',
'NAME':'new_db',
'USER':'morine',
'PASSWORD':'password',
}
}
Стъпка 2: Актуализирайте часовата зона
На следващо място, в settings.py файл, задайте Часова зона за отразяване на вашето местоположение. Django проектите са предварително конфигурирани с UTC часова зона.
TIME_ZONE = Africa/Nairobi
Стъпка 3: Създайте модел
Създавам Профил модел във вашето приложение. Ще използвате този клас модел за създаване на таблици в базата данни за съхраняване на името и биографичните данни на приложението.
classProfile(models.Model):
name = models.CharField(max_length=30)
bio = models.TextField(max_length=100)def__str__(self):
return self.name
Стъпка 4: Стартирайте миграцията
Изпълнете следните команди, за да започнете миграцията:
(virtual)$ python manage.py makemigrations boma
(virtual)$ python manage.py migrate
Успешната миграция ще изглежда така:
python manage.py мигрират команда избира приложението от INSTALLED_APPS настройки > файлове models.py и създава таблици за всеки модел. Успешно сте свързали Postgres с вашето приложение.
Сега можете да тествате командите CREATE, READ, UPDATE и DELETE (CRUD) на вашето приложение.
6. Тествайте CRUD команди на вашето приложение
Python API на Django ще ви позволи да извършвате някои операции с CRUD база данни. API свързва функциите с моделите, за да ви позволи да манипулирате базата данни.
Отворете обвивката на Python в проекта Django, като използвате следната команда:
(virtual)$ python manage.py shell
Командата ще отвори конзола, където можете да тествате CRUD операциите.
Създаване на операция
Първо импортирайте Профил модел от модели модул с помощта на следната команда:
from boma.models import Profile
След това създайте екземпляр на Профил клас и предайте вашите данни.
prof1 = Profile.objects.create(name ='Ken',bio ='I am a Scorpio')
След това запазете данните в базата данни.
prof1.save()
Прочетете Операция
След като създадете данни в базата данни и ги запазите, можете да я направите заявка, за да извлечете запазените данни.
Използвай Profile.objects.all() за извличане на всички данни в Профил таблица в базата данни.
Profile.objects.all() #outputs
Можете също така да извлечете един обект, като използвате a първичен ключ или pk. Това са номера, присвоени на всеки елемент, записан в базата данни.
Profile.objects.get(pk = 1) #outputs
Операция за актуализиране
Можете да актуализирате запазените данни, като използвате следната команда:
Profile.objects.filter(id = 1).update(name ='Kim';) #outputs 1
За да проверите дали името е актуализирано, изпълнете следната команда:
Profile.objects.filter(id = 1) #outputs
Операция за изтриване
Можете да изтриете запазени елементи, като използвате следната команда:
Profile.objects.filter(id = 1).delete() #outputs (1, {app.Profile: 1})
За да потвърдите изтриването, изпълнете следната команда:
Profile.objects.filter(id = 1) #outputs
Можете да видите, че наборът от заявки е празен, което показва, че данните вече не са в базата данни.
Защо да използвате PostgreSQL?
Postgres е една от най-модерните SQL бази данни. Неговите компилации с отворен код осигуряват постоянни подобрения на производителността.
Управлението на работните натоварвания е по-лесно и сортирането на бази данни става по-добро с всяка версия. Една от причините, поради които Postgres е популярен, е, че е съвместим с повечето съвременни програмни езици и операционни системи.