Django egy jól ismert webes keretrendszer, amely leegyszerűsíti a robusztus, skálázható, biztonságos és nagy teljesítményű webalkalmazások létrehozásának folyamatát. Ez egy nyílt forráskódú projekt, amely Python nyelven íródott. Itt tekinthet meg további részletes információkat a Django-ról.
Minden webalkalmazásnak szüksége van egy adatbázisra háttérrendszerként az adatok kezeléséhez. A Django támogatja a különböző adatbázis-motorokat háttérrendszerként, például a MySQL, PostgreSQL, SQLite stb. rendszereket. A PostgreSQL egy nagy teljesítményű, nyílt forráskódú objektum-relációs adatbázis-rendszer. Megbízhatóságáról, skálázhatóságáról, biztonságáról és robusztus funkciókészletéről híres. Itt tudhat meg többet a PostgreSQL-ről.
Ebben az útmutatóban bemutatjuk a PostgreSQL háttérrendszerként való integrálását egy minta Django alkalmazásban.
Előfeltételek
A Django használatához bizonyos rendszerkonfigurációkra van szükség.
- Egy megfelelően konfigurált Ubuntu 21.04 szerver. Tudjon meg többet az Ubuntu szerver beállításáról.
- Egy Python fejlesztői környezet. A Django Python nyelven íródott, így a futtatásához szükség van a Python környezetre.
- Telepített PostgreSQL, mivel ezt fogjuk használni adatbázis-szerverként a Django alkalmazásunkhoz. Tudjon meg többet a PostgreSQL Ubuntu-ra történő telepítéséről és konfigurálásáról itt.
Ez az útmutató azt is bemutatja, hogyan használhatók a működőképes Django alkalmazáshoz szükséges különböző Python modulok és könyvtárak.
1. lépés: A szükséges összetevők telepítése
Ahhoz, hogy a projektünk működjön, be kell telepítenünk néhány fontos csomagot az Ubuntu rendszerünkre. Szerencsére mindegyik közvetlenül elérhető a hivatalos Ubuntu csomagtárolókból. Ezek a csomagok Python összetevőket és adatbázis (PostgreSQL) összetevőket tartalmaznak.
Először indítsa el a terminált, és frissítse az APT csomaggyorsítótárat:
|
1 |
sudo apt update |
Ezután telepítse a csomagokat:
|
1 |
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib |
2. lépés: Az adatbázis előkészítése
A PostgreSQL most már telepítve van és használatra kész. Ezután létrehozunk egy dedikált adatbázist és egy felhasználót a Django alkalmazásunkhoz. A dedikált felhasználó hasznos az adatbázis- és jogosultságkezelés szempontjából.
A telepítés során a PostgreSQL létrehoz egy dedikált felhasználót postgres. Ez a felhasználó rendelkezik jogosultsággal bármilyen adminisztratív feladat elvégzésére a PostgreSQL-ben. Lépjen be a postgres fiókba:
|
1 |
sudo su – postgres |
Ezzel egy új shell munkamenetbe kell lépnie a postgres felhasználó alatt. Ezután nyisson meg egy PostgreSQL shellt:
|
1 |
psql |
Most létrehozunk egy dedikált adatbázist a Django alkalmazásunkhoz. Javasoljuk, hogy a Django alkalmazással megegyező nevet adjon neki:
|
1 |
CREATE DATABASE <database_name>; |
Ezután létrehozunk egy dedikált adatbázis-felhasználót. Ezt a felhasználót fogjuk használni a Django-dedikált adatbázis eléréséhez:
|
1 |
CREATE USER <username> WITH PASSWORD '<password>'; |
A következő lépés néhány kapcsolati paraméter finomhangolása az új felhasználó számára. Ez segít felgyorsítani az adatbázis-műveleteket, mivel nem kell minden alkalommal lekérdezni az értékeket, amikor kapcsolat jön létre. Futtassa a következő parancsokat:
|
1 2 3 |
ALTER ROLE <username> SET client_encoding TO 'utf8'; ALTER ROLE <username> SET default_transaction_isolation TO 'read committed'; ALTER ROLE <username> SET timezone TO '<timezone>'; |
Nézzük meg röviden ezeket a parancsokat:
-
Az alapértelmezett kódolást UTF-8-ra állítjuk. Ezt várja el a Django az adatbázisokkal való interakció során.
-
Az alapértelmezett tranzakciós séma „read committed” (olvasás véglegesítve) értékre van állítva, így a nem véglegesített tranzakciókból származó olvasások blokkolva vannak.
-
Az időzónát a helyszínnek megfelelően kell beállítani.
Ha nem biztos az időzóna nevében, a következő parancs kilistázza a PostgreSQL által támogatott összes időzónát:
|
1 |
SELECT * FROM pg_timezone_names; |
Végül adjon teljes jogosultságot az új felhasználónak a Django-hoz rendelt adatbázison:
|
1 |
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>; |
A PostgreSQL-lel kapcsolatos munkánk ezzel véget ért. Lépjen ki a psql parancssorból, és jelentkezzen ki a postgres munkamenetből.
Step 3. Installing Django
Konfiguráltuk a szükséges adatbázis-szervert a Django alkalmazásunkhoz. Most telepíteni és konfigurálni fogjuk a dedikált Django alkalmazást. Bár a Django közvetlenül elérhető a hivatalos Ubuntu tárolóból, nem javasoljuk ezt a módszert. Ez ugyanis rendszerszinten telepítené a Django-t. A nagyobb rugalmasság és a könnyebb kezelhetőség érdekében inkább egy virtuális környezetbe fogjuk telepíteni a Django-t. Elterjedt gyakorlat, hogy a Django-t egy virtuális Python környezetben telepítik és konfigurálják.
A Python rendelkezik egy virtualenv modullal, amely egy virtuális Python környezetet hoz létre a célhelyen. A környezet megkapja a saját Python binárisait és konfigurációit. A virtuális környezeten belüli változtatások nincsenek hatással a rendszer többi részére.
Telepítse a virtualenv:
|
1 |
sudo apt install virtualenv |
Ezután az a célunk, hogy legyen egy dedikált könyvtárunk a Python virtuális környezet létrehozásához. Ez szolgál majd a Django alkalmazásunk alapjául. A bemutatóhoz az alkalmazásunk neve sample_app lesz. Hozzon létre egy új könyvtárat:
|
1 |
mkdir -pv <dir_name> |
Váltson át az aktuális aktív könyvtárra, és hozza létre a virtuális környezetet:
|
1 2 |
cd sample_app/ virtualenv sample_app_env |
Ezt követően aktiválja a virtuális környezetet:
|
1 |
source sample_app_env/bin/activate |
A virtuális környezet most már kész és működőképes. Ezután a pip segítségével telepítjük a Django-t és a psycopg2 csomagot (egy Python adaptert a PostgreSQL-hez):
|
1 |
pip install django psycopg2 |
Végül létrehozhatunk egy új Django projektet a Django eszközeivel. Ez létrehoz egy azonos nevű alkönyvtárat, amely az összes kódot tartalmazza, valamint egy kezelőszkriptet az aktuális könyvtárban:
|
1 |
django-admin startproject <project_name> . |
Step 4. Configuring the Django Project
A Django projekt rendelkezik az összes alapvető eszközzel ahhoz, hogy webalkalmazásként működjön. Az adatbázisunkkal való integráláshoz el kell végeznünk néhány módosítást a konfigurációs fájljaiban.
Nyissa meg a settings.py fájlt egy szövegszerkesztőben:
|
1 |
nano settings.py |
Görgessen le a DATABASES szakaszhoz. Alapértelmezés szerint a SQLite:
használatára van konfigurálva. A mi célunkhoz módosítsa a kódot az alábbiak szerint:
|
1 2 3 4 5 6 7 8 9 10 |
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '<db_name>', 'USER': '<db_user>', 'PASSWORD': '<db_user_password>', 'HOST': 'localhost', 'PORT': '', } } |
Itt arra utasítjuk a Django-t, hogy a psycopg2 adaptert használja az adatbázis-kommunikációhoz. Megadjuk az összes szükséges adatbázis-információt is, például az adatbázis nevét, valamint a dedikált felhasználó felhasználónevét és jelszavát.
Ha végzett, mentse el a fájlt, és zárja be a szerkesztőt.
Step 5. Migrating the Database
A Django konfigurálva van a PostgreSQL adatbázisunk elérésére. Most már migrálhatjuk az adatszerkezetet az adatbázisunkba. A Django-ban ezt migrációnak.
nevezik. Az adatbázis-változások migrálásához hívja meg a manage.py:
|
1 |
python manage.py makemigrations |

|
1 |
python manage.py migrate |
Ezután hozzon létre egy szuperfelhasználót a Django alkalmazásunkhoz:
|
1 |
python manage.py createsuperuser |
Ez a szuperfelhasználói fiók fog adminisztrátori fiókként szolgálni a Django alkalmazásunkhoz.
6. lépés: A változtatások tesztelése
Eddig több módosítást is végeztünk a Django alkalmazásunkon. Itt az ideje ellenőrizni, hogy minden a várt módon működik-e. Ezt az alkalmazás elindításával és az adminisztrációs panel elérésével fogjuk ellenőrizni.
Mivel helyileg fejlesztjük a Django alkalmazást, a szervert a következő címen indítjuk el: localhost. Hagyományosan a következő porton indítjuk el: 8000. Ha be van állítva tűzfal, akkor engedélyeznie kell a forgalmat a következő portra: 8000. Tudjon meg többet a(z) UFW alapjairól itt.
Indítsa el a Django szervert:
|
1 |
python manage.py runserver localhost:8000 |
Nyissa meg az URL-t egy böngészőben:
|
1 |
http://localhost:8000 |
A Django sikeres telepítését jelző oldalra kell érkeznie. A Django adminisztrációs oldal eléréséhez keresse fel a következő URL-t:
|
1 |
http://localhost:8000/admin |
A bejelentkezéshez a létrehozott szuperfelhasználót kell használnia:
Voila! Sikeresen elértük az adminisztrációs panelt!
Ha végzett a felfedezéssel, nyomja meg a Ctrl + C billentyűkombinációt a konzolon a Django szerver leállításához.
Záró gondolatok
Ebben az útmutatóban sikeresen bemutattuk egy minta Django alkalmazás létrehozását és a PostgreSQL háttérrendszerként való konfigurálását. Bár az SQLite általában bőven elegendő a fejlesztés során felmerülő igények kielégítésére (és a mérsékelt éles használatra), a legtöbb projekt számára komoly előnyt jelent a teljesebb funkciójú DBMS-re való átállás. PostgreSQL egy kiváló választás a teljesítmény és a skálázhatóság szempontjából.
A Django egy sokoldalú webes keretrendszer, amely számos technológiával képes együttműködni. Tekintse meg a Django használatát bemutató további felhőalapú útmutatóinkat:
- Django beállítása PostgreSQL, Nginx és Gunicorn használatával Ubuntu 20.04-en
- Django és Gunicorn alkalmazás építése Dockerrel Ubuntu-n
- Hogyan tegyük biztonságossá és skálázhatóvá a Django alkalmazást Docker, Nginx és Let’s Encrypt segítségével
- Django alkalmazás létrehozása adatbázis-kapcsolattal: Útmutató
Kellemes kódolást!






















Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.