PostgreSQL este una dintre cele mai bune alegeri pentru un mediu de stocare securizat. Aflați cum să îl integrați cu Django.

Adăugarea unei baze de date la aplicația dvs. asigură integritatea și securitatea datelor. PostgreSQL (Postgres) este un sistem de gestionare a bazelor de date Structured Query Language (SQL) pe care poate doriți să îl luați în considerare.

Postgres acceptă majoritatea sistemelor de operare populare și este compatibil cu limbaje de programare moderne. Postgres gestionează, de asemenea, diverse tipuri de date și documente. Cu abilitățile SQL la mare căutare, învățarea configurației și utilizării PostgreSQL este un avantaj.

Veți învăța cum să instalați, să configurați și să utilizați Postgres într-o aplicație Django. De asemenea, veți testa funcționalitatea bazei de date prin adăugarea, stocarea și preluarea datelor din baza de date.

1. Instalați PostgreSQL pe sistemul dvs

Următoarele instrucțiuni explică cum se instalează Postgres pe sistemul de operare Ubuntu. Dacă sunteți un utilizator Windows, puteți urma acest lucru

instagram viewer
ghid pas cu pas pentru a instala Postgres pe Windows.

Înainte de a instala Postgres, actualizați pachetele versiunii și dependențele acestora cu următoarea comandă:

$ sudo apt-get update

Apoi, instalați PostgreSQL cu următoarea comandă:

$ sudo apt-get install postgresql postgresql-contrib libpq-dev

Când vi se solicită să confirmați instalarea, apăsați Y pentru da.

Conectați-vă la server folosind următoarea comandă:

$ sudo -i -u postgres

Și apoi utilizați clientul bazei de date pentru a determina versiunea Postgres instalată.

Rulați comanda psql --versiune.

postgres@nameofaccount:~$ psql --version

Ieșirea va afișa versiunea dvs. Postgres așa cum se arată mai jos:

psql (PostgreSQL) 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1)

Ieșiți din contul Postgres rulând programul Ieșire comanda.

postgres@nameofaccount:~$ exit

2. Creați o bază de date

Trebuie să creați o bază de date pe care o veți conecta la o aplicație Django. Navigați înapoi la shell-ul Postgres și rulați următoarele comenzi consecutiv.

sudo -i -u postgres
$ psql

Apoi utilizați clientul pentru a crea o bază de date pe server.

postgres=# create database new_db;

Serverul returnează termenul CREATE DATABASE atunci când creează o bază de date. De asemenea, puteți verifica enumerarea tuturor bazelor de date în sistemul cu comanda \l.

postgres=# \l

Structura PostgreSQL

Ca o bază de date SQL tipică, PostgreSQL stochează datele în tabele. Tabelele reprezintă diferite articole/modele dintr-o aplicație. Tabelele au un număr fix de coloane și rânduri.

Fiecare tabel are o anumită coloană numită cheie primară, un identificator unic pentru fiecare rând stocat în tabel. Un tabel poate avea, de asemenea, o cheie externă care o conectează la cheia primară a altui tabel.

Cheile externe definesc relațiile dintre două tabele.

Apoi, trebuie să creați o aplicație Django și să conectați baza de date. Dar mai întâi, instalați psicopg2 pentru a ajuta la conectarea aplicației și a bazei de date.

3. Instalați Django și Biblioteca Psycopg2

Pentru a conecta Postgres la o aplicație Django, trebuie să instalați psicopg2 bibliotecă. Aceasta este o dependență Postgres care vă ajută să vă conectați și să comunicați cu Django.

Rulați următoarea comandă pentru a instala psicopg2 și Django:

$ pipenv install psycopg2 Django

4. Creați o aplicație Django

Trebuie să creați o aplicație Django care va folosi baza de date Postgres. Mai întâi, creați un proiect numit myboma pentru a susține aplicația. Django proiectează dependențe de generare automată și setările aplicației necesare pentru a rula aplicația.

Creați un folder numit Boma-ceas și navigați la el cu următoarele comenzi:

$ mkdir Boma-watch
$cd Boma-watch

Apoi, creați un proiect Django cu următoarea comandă:

$ django-admin startproject myboma .

Asigurați-vă că adăugați punctul la sfârșitul comenzii, altfel Django va crea un folder nou pentru a găzdui proiectul.

Apoi, creați o nouă aplicație numită boma cu următoarea comandă:

$ django startapp boma

Dacă nu ai mai lucrat cu Django înainte, poți începeți cu un ghid pentru începători pentru Django. După ce rulați aplicația în browser pentru a confirma că funcționează, o veți conecta la baza de date în secțiunea următoare.

5. Conectați baza de date la aplicația Django

Acum vă veți conecta aplicația Django la baza de date pe care ați creat-o folosind următorii pași:

Pasul 1: Modificați setările proiectului pentru a utiliza Postgres

Trebuie să modificați setările proiectului pentru a conecta aplicația Django la Postgres. Navigați la proiect setări.py fişier. Apoi, schimbați BAZELE DE DATE setări pentru a adăuga configurațiile Postgres.

Inlocuieste UTILIZATOR și PAROLA cu dvs psql nume de utilizator și parolă.

#...
DATABASES = {
'default': {
'ENGINE':'django.db.backends.postgresql',
'NAME':'new_db',
'USER':'morine',
'PASSWORD':'password',
}
}

Pasul 2: Actualizați fusul orar

În continuare, în setări.py fișier, setați Fus orar pentru a reflecta locația dvs. Proiectele Django sunt preconfigurate cu fusul orar UTC.

TIME_ZONE = Africa/Nairobi

Pasul 3: Creați un model

Creeaza o Profil model în aplicația dvs. Veți folosi această clasă de model pentru a crea tabele în baza de date pentru a stoca numele aplicației și datele bio.

classProfile(models.Model):
name = models.CharField(max_length=30)
bio = models.TextField(max_length=100)

def__str__(self):
return self.name

Pasul 4: Începeți migrarea

Rulați următoarele comenzi pentru a începe migrarea:

(virtual)$ python manage.py makemigrations boma 
(virtual)$ python manage.py migrate

O migrare reușită va arăta astfel:

python manage.py migrate comanda alege aplicația din INSTALLED_APPS setări > fișiere models.py și creează tabele pentru fiecare model. Ați conectat cu succes Postgres la aplicația dvs.

Acum, puteți testa comenzile CREATE, READ, UPDATE și DELETE (CRUD) din aplicația dvs.

6. Testați comenzile CRUD pe aplicația dvs

API-ul Python de la Django vă va permite să efectuați unele operațiuni de bază de date CRUD. API-ul conectează funcțiile cu modelele pentru a vă permite să manipulați baza de date.

Deschideți shell-ul Python în proiectul Django folosind următoarea comandă:

(virtual)$ python manage.py shell

Comanda va deschide o consolă unde puteți testa operațiunile CRUD.

Creați operațiune

În primul rând, importați Profil model din modele modul folosind următoarea comandă:

 from boma.models import Profile

Apoi, creați o instanță a Profil clasa și transmiteți datele dvs.

 prof1 = Profile.objects.create(name ='Ken',bio ='I am a Scorpio')

Apoi, salvați datele în baza de date.

prof1.save()

Citiți Operațiunea

După ce ați creat date în baza de date și le-ați salvat, le puteți interoga pentru a prelua datele salvate.

Folosește Profile.objects.all() pentru a prelua toate datele din Profil tabel din baza de date.

Profile.objects.all() #outputs 

De asemenea, puteți prelua un singur obiect folosind a cheia principala sau pk. Acestea sunt numere atribuite fiecărui element salvat în baza de date.

Profile.objects.get(pk = 1) #outputs 

Operațiune de actualizare

Puteți actualiza datele salvate folosind următoarea comandă:

Profile.objects.filter(id = 1).update(name ='Kim';) #outputs 1

Pentru a verifica dacă numele a fost actualizat, executați următoarea comandă:

Profile.objects.filter(id = 1) #outputs 

Operațiunea de ștergere

Puteți șterge elementele salvate folosind următoarea comandă:

Profile.objects.filter(id = 1).delete() #outputs (1, {app.Profile: 1})

Pentru a confirma ștergerea rulați următoarea comandă:

Profile.objects.filter(id = 1) #outputs 

Puteți vedea că setul de interogări este gol, indicând că datele nu mai sunt în baza de date.

De ce să folosiți PostgreSQL?

Postgres este una dintre cele mai avansate baze de date SQL. Build-urile sale open-source asigură îmbunătățiri constante ale performanței.

Gestionarea sarcinilor de lucru este mai ușoară, iar sortarea bazelor de date devine mai bună cu fiecare lansare. Unul dintre motivele pentru care Postgres este popular este că este compatibil cu majoritatea limbajelor de programare și sistemelor de operare moderne.