PostgreSQL on turvalise salvestuskeskkonna jaoks üks parimaid valikuid. Siit saate teada, kuidas seda Djangoga integreerida.
Andmebaasi lisamine rakendusele tagab andmete terviklikkuse ja turvalisuse. PostgreSQL (Postgres) on struktureeritud päringukeele (SQL) andmebaasihaldussüsteem, mida võiksite kaaluda.
Postgres toetab enamikku populaarsetest operatsioonisüsteemidest ja ühildub kaasaegsete programmeerimiskeeltega. Postgres tegeleb ka erinevate andmete ja dokumenditüüpidega. Kuna SQL-i oskused on väga nõutud, on PostgreSQL-i konfigureerimise ja kasutamise õppimine eeliseks.
Saate teada, kuidas installida, konfigureerida ja kasutada Postgresi Django rakenduses. Samuti saate testida andmebaasi funktsionaalsust, lisades, salvestades ja hankides andmeid andmebaasist.
1. Installige oma süsteemi PostgreSQL
Järgmised juhised selgitavad kuidas installida Postgres Ubuntu operatsioonisüsteemi. Kui olete Windowsi kasutaja, saate seda järgida samm-sammult juhend Postgresi installimiseks Windowsi.
Enne Postgresi installimist värskendage versioonipakette ja nende sõltuvusi järgmise käsuga:
$ sudo apt-get update
Järgmisena installige PostgreSQL järgmise käsuga:
$ sudo apt-get install postgresql postgresql-contrib libpq-dev
Kui teil palutakse installida kinnitada, vajutage nuppu Y jaoks Jah.
Ühendage serveriga järgmise käsu abil:
$ sudo -i -u postgres
Seejärel kasutage installitud Postgresi versiooni määramiseks andmebaasi klienti.
Käivitage käsk psql -- versioon.
postgres@nameofaccount:~$ psql --version
Väljund näitab teie Postgresi versiooni, nagu allpool näidatud:
psql (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)
Väljuge Postgresi kontost, käivitades käsu väljuda käsk.
postgres@nameofaccount:~$ exit
2. Looge andmebaas
Peate looma andmebaasi, mille ühendate Django rakendusega. Navigeerige tagasi Postgresi kesta ja käivitage järjestikku järgmised käsud.
sudo -i -u postgres
$ psql
Seejärel kasutage klienti serveris andmebaasi loomiseks.
postgres=# create database new_db;
Server tagastab andmebaasi loomisel termini CREATE DATABASE. Saate ka kontrollida loetledes kõik andmebaasid süsteemis käsuga \l.
postgres=# \l
PostgreSQL-i struktuur
Nagu tavaline SQL-i andmebaas, salvestab PostgreSQL andmed tabelitesse. Tabelid esindavad rakenduse erinevaid üksusi/mudeleid. Tabelites on kindel arv veerge ja ridu.
Igal tabelis on konkreetne veerg, mida nimetatakse primaarvõtmeks, iga tabelis salvestatud rea kordumatu identifikaator. Tabelil võib olla ka võõrvõti, mis ühendab selle teise tabeli primaarvõtmega.
Võõrvõtmed määravad kahe tabeli vahelised seosed.
Järgmiseks peate looma Django rakenduse ja linkima andmebaasi. Kuid kõigepealt installige psycopg2 rakenduse ja andmebaasi ühendamiseks.
3. Installige Django ja Psycopg2 raamatukogu
Postgresi ühendamiseks Django rakendusega peate installima psycopg2 raamatukogu. See on Postgresi sõltuvus, mis aitab Djangoga ühendust luua ja sellega suhelda.
Käivitage installimiseks järgmine käsk psycopg2 ja Django:
$ pipenv install psycopg2 Django
4. Looge Django rakendus
Peate looma Django rakenduse, mis kasutab Postgresi andmebaasi. Esiteks looge projekt nimega müboomi rakenduse toetamiseks. Django loob automaatselt rakenduse käitamiseks vajalikke sõltuvusi ja rakenduse sätteid.
Looge kaust nimega Boma-kell ja navigeerige selle juurde järgmiste käskudega:
$ mkdir Boma-watch
$cd Boma-watch
Seejärel looge Django projekt järgmise käsuga:
$ django-admin startproject myboma .
Lisage käsu lõppu kindlasti punkt, vastasel juhul loob Django projekti majutamiseks uue kausta.
Järgmisena looge uus rakendus nimega boma järgmise käsuga:
$ django startapp boma
Kui te pole varem Djangoga koostööd teinud, saate seda teha alustage Django algajatele mõeldud juhendiga. Pärast rakenduse käivitamist brauseris selle toimimise kinnitamiseks ühendate selle järgmises jaotises andmebaasiga.
5. Ühendage andmebaas Django rakendusega
Nüüd ühendate oma Django rakenduse loodud andmebaasiga järgmiste sammude abil.
1. samm: muutke projekti sätteid Postgresi kasutamiseks
Django rakenduse Postgresiga ühendamiseks peate muutma projekti sätteid. Liikuge projekti juurde settings.py faili. Seejärel muutke ANDMEBAASID Postgresi konfiguratsioonide lisamiseks.
Asendage KASUTAJA ja PAROOL sinuga psql kasutajanimi ja parool.
#...
DATABASES = {
'default': {
'ENGINE':'django.db.backends.postgresql',
'NAME':'new_db',
'USER':'morine',
'PASSWORD':'password',
}
}
2. samm: ajavööndi värskendamine
Järgmisena settings.py faili, määrake Ajavöönd et kajastada teie asukohta. Django projektid on eelkonfigureeritud UTC ajavööndiga.
TIME_ZONE = Africa/Nairobi
3. samm: looge mudel
Loo Profiil mudelit oma rakenduses. Kasutate seda mudeliklassi andmebaasis tabelite loomiseks rakenduse nime ja bioandmete salvestamiseks.
classProfile(models.Model):
name = models.CharField(max_length=30)
bio = models.TextField(max_length=100)def__str__(self):
return self.name
4. samm: alustage migreerimist
Migreerimise alustamiseks käivitage järgmised käsud:
(virtual)$ python manage.py makemigrations boma
(virtual)$ python manage.py migrate
Edukas üleviimine näeb välja järgmine:
python manage.py migreerida käsk valib rakenduse hulgast INSTALLED_APPS seaded > models.py failid ja loob iga mudeli jaoks tabelid. Olete Postgresi edukalt oma rakendusega ühendanud.
Nüüd saate oma rakenduses testida käske CREATE, READ, UPDATE ja DELETE (CRUD).
6. Testige oma rakenduses CRUD-i käske
Django Pythoni API võimaldab teil teha mõningaid CRUD andmebaasi toiminguid. API ühendab funktsioonid mudelitega, et saaksite andmebaasiga manipuleerida.
Avage Pythoni kest Django projektis, kasutades järgmist käsku:
(virtual)$ python manage.py shell
Käsk avab konsooli, kus saate testida CRUD-i toiminguid.
Loo operatsioon
Esiteks importige Profiil mudel pärit mudelid moodul, kasutades järgmist käsku:
from boma.models import Profile
Seejärel looge eksemplar Profiil klassi ja edastage oma andmed.
prof1 = Profile.objects.create(name ='Ken',bio ='I am a Scorpio')
Järgmisena salvestage andmed andmebaasi.
prof1.save()
Lugege operatsiooni
Pärast andmebaasis andmete loomist ja salvestamist saate salvestatud andmete hankimiseks teha päringu.
Kasuta Profile.objects.all() et hankida kõik failis olevad andmed Profiil tabel andmebaasis.
Profile.objects.all() #outputs
Samuti saate ühe objekti alla laadida, kasutades a esmane võti või pk. Need on numbrid, mis on määratud igale andmebaasi salvestatud üksusele.
Profile.objects.get(pk = 1) #outputs
Värskendusoperatsioon
Salvestatud andmeid saate värskendada järgmise käsuga:
Profile.objects.filter(id = 1).update(name ='Kim';) #outputs 1
Nime värskendamise kontrollimiseks käivitage järgmine käsk:
Profile.objects.filter(id = 1) #outputs
Kustutusoperatsioon
Salvestatud üksusi saate kustutada järgmise käsuga:
Profile.objects.filter(id = 1).delete() #outputs (1, {app.Profile: 1})
Kustutamise kinnitamiseks käivitage järgmine käsk:
Profile.objects.filter(id = 1) #outputs
Näete, et päringukomplekt on tühi, mis näitab, et andmeid pole enam andmebaasis.
Miks kasutada PostgreSQL-i?
Postgres on üks arenenumaid SQL-andmebaase. Selle avatud lähtekoodiga versioonid tagavad pideva jõudluse paranemise.
Töökoormuste haldamine on lihtsam ja andmebaaside sortimine muutub iga versiooniga paremaks. Üks põhjusi, miks Postgres on populaarne, on see, et see ühildub enamiku kaasaegsete programmeerimiskeelte ja operatsioonisüsteemidega.