Django egy ingyenes és nyílt forráskódú webes keretrendszer, amely Python nyelven készült. A 2005-ben megjelent Django a „gyors fejlesztés és tiszta, pragmatikus tervezés” mottóját hordozza. A webszerverre telepített keretrendszer gyorsan képes gazdag funkciókkal, biztonsággal és skálázhatósággal rendelkező webes felületet létrehozni.
Minden webalkalmazás adatbázisokra támaszkodik a tartalom kiszolgálásához. A Django, mint modern keretrendszer, számos szabványos adatbázis-programot támogat, például: PostgreSQL, SQLite, MySQL stb. Ez az útmutató bemutatja, hogyan csatlakoztathat egy Django alkalmazást egy MySQL adatbázishoz.
Előfeltételek
Az útmutató követéséhez meg kell felelnie bizonyos előfeltételeknek, mielőtt rátérne a Django és az adatbázis-kapcsolatra:
- Egy megfelelő webszerver. Ebben az útmutatóban egy Ubuntu szervert.
- fogunk használni. Egy megfelelően konfigurált Python 3 fejlesztői környezet.
- Egy adatbázis-alkalmazás. Itt egy részletes útmutató a MySQL telepítéséről és használatáról.
A Python 3 telepítése és konfigurálása
A Django Python nyelven íródott. Bármely Python alkalmazás futtatásához telepíteni kell a Python binárisokat a rendszerre. Az Ubuntu alapértelmezés szerint telepített Pythonnal érkezik. Itt a Python 3-at fogjuk használni. A terminálból futtassa a következő parancsokat. Először frissítse az APT gyorsítótárat, és frissítse (ha elérhető) az összes telepített csomagot:
|
1 |
$ sudo apt update && sudo apt upgrade -y |
A Python 3 közvetlenül elérhető a hivatalos Ubuntu csomagszerverekről. A
python-is-python3 csomag létrehoz egy python bináris szimbolikus linket a
python3 felé a könnyebb használat érdekében:
|
1 |
$ sudo apt install python3 python-is-python3 |
Ezután ellenőrizze, hogy a telepítés sikeres volt-e:
|
1 2 |
$ python3 --version $ python --version |
Ezt követően szükségünk van a pip eszközre. Ez a szabványos Python csomagkezelő. Ez felelős a standard könyvtár részét nem képező további Python könyvtárak kezeléséért. Vegye figyelembe, hogy a pip3 eszközt telepítjük (a Python 3-hoz):
|
1 |
$ sudo apt install python3-pip |
Végezetül szükségünk van néhány további csomagra a robusztus programozási környezethez:
|
1 |
$ sudo apt install build-essential libssl-dev libffi-dev python3-dev |
A MySQL telepítése és konfigurálása
Ez a szakasz röviden bemutatja a MySQL telepítését és konfigurálását. Ez elérhető az alapértelmezett Ubuntu csomagtárolókból:
|
1 |
$ sudo apt install mysql-server |
Ha a telepítés sikeres volt, a MySQL elindul a háttérben. Ellenőrizze, hogy megfelelően működik-e:
|
1 |
$ systemctl status mysql |
A MySQL szerver fut és működik. Most már biztonságosan áttérhetünk a Django alkalmazásunk fejlesztésére.
Munka a Django-val
-
A minta Django alkalmazás létrehozása
Webalkalmazásunk alapjaihoz szükség van a Django projekt vázára. Ez tartalmazza az összes szükséges eszközt és könyvtárat, amely egy robusztus webalkalmazás létrehozásához szükséges. Először létrehozunk egy dedikált könyvtárat a Django alkalmazásunk számára. Javasoljuk, hogy a könyvtárnak valamilyen beszédes nevet adjon, amely összhangban van a felépíteni kívánt alkalmazással. Ebben a bemutatóban a következő nevet adjuk neki: myDemoApp:
|
1 |
$ mkdir -pv myDemoApp |
Szükségünk van a Python venv moduljára egy virtuális környezet létrehozásához a könyvtáron belül. Telepítse a modult az APT:
|
1 |
$ sudo apt install python3-venv |
Ezután lépjen be a könyvtárba, és hozzon létre egy virtuális környezetet. Az egyértelműség kedvéért a környezetet demoapp_env:
|
1 |
$ python3 -m venv demoapp_env |
Ezután aktiválja a virtuális környezetet az activate szkript futtatásával:
|
1 |
$ . demoapp_env/bin/activate |
Most telepíteni fogjuk a Django-t ezen a dedikált virtuális környezeten belül. Pip le fog tölteni és telepíteni fog néhány további komponenst:
|
1 |
$ pip install django |
A Django telepítve van és használatra kész. Hívja meg a django-admin parancsot egy új Django projekt létrehozásához. Ezután adjon az alkalmazásnak egy megfelelő nevet:
|
1 |
$ django-admin startproject demoapp |
Ez létrehoz egy demóprojektet a szükséges projektfájlokkal és könyvtárakkal:
|
1 |
$ ls -l |
A projektváz elkészült. Ezután megfelelően be kell konfigurálnunk a célunk eléréséhez.
-
A Django projektbeállítások szerkesztése
A projekt összes konfigurációja a következő fájlban van tárolva: settings.py. Ez a Django projekt könyvtárában található. Kezdésként beállítunk egy megfelelő időzónát, és listázzuk azokat a gazdagépeket, amelyek csatlakozhatnak a Django alkalmazáshoz. Nyissa meg a konfigurációs fájlt egy szövegszerkesztőben:
|
1 |
$ nano ~/myDemoApp/demoapp/demoapp/settings.py |
Görgessen le a szkriptben, és keresse meg a következő bejegyzést: TIME_ZONE. A bemutató kedvéért az időzóna a következőre van beállítva: America/New_York:
|
1 |
$ TIME_ZONE = 'America/New_York' |
Referenciaként a következő parancs kiírja az összes támogatott időzónát Linux alatt:
|
1 |
$ timedatectl list-timezones |
Ezután görgessen a következő bejegyzéshez: ALLOWED_HOSTS. Ez szabályozza, hogy melyik gép(ek) férhet(nek) hozzá az alkalmazáshoz. A bemutató kedvéért ez csak a localhost-ot tartalmazza:
|
1 |
$ ALLOWED_HOSTS = ['localhost'] |
Ezután mentse el a fájlt, és zárja be a szerkesztőt. A következő parancs alkalmazza a módosításokat:
|
1 |
$ python manage.py migrate |
Most létre kell hoznunk egy adminisztrátori fiókot a webalkalmazáshoz. Ezzel a fiókkal lehet majd elérni a Django adminisztrációs felületét. Futtassa a következő parancsot:
|
1 |
$ python manage.py createsuperuser |
Meg fogja kérdezni a felhasználónevet, e-mail-címet és jelszót. Az alkalmazás most már készen áll az adatbázishoz való csatlakozásra.
MySQL-kapcsolat
-
MySQL-konnektorok és fejlesztői könyvtárak telepítése
A MySQL Django alkalmazásba történő integrálásához szükségünk van néhány további Python 3 könyvtárra, amelyek biztosítják a szükséges eszközöket. Az alábbi adatbázis-konnektort fogjuk használni: mysqlclient. Ez a következő forkja: MySQLdb.
Győződjön meg róla, hogy a python3-dev telepítve van:
|
1 |
$ sudo apt install python3-dev |
Szükségünk van továbbá néhány további Python és MySQL fejlécre és könyvtárra is:
|
1 |
$ sudo apt install python3-dev libmysqlclient-dev default-libmysqlclient-dev |
A telepítés befejezése után használja a pip eszközt a következő Python modul telepítéséhez: mysqlclient. Ez generálhat néhány hibaüzenetet, amelyek figyelmen kívül hagyhatók:
|
1 |
$ pip install mysqlclient |
-
Dedikált adatbázis konfigurálása
A következő lépés egy dedikált adatbázis és adatbázis-felhasználó konfigurálása a Django alkalmazásunkhoz. Indítsa el a MySQL shellt root felhasználóként:
|
1 |
$ sudo mysql -u root |
Az összes jelenleg elérhető adatbázis ellenőrzéséhez futtassa a következő lekérdezést:
|
1 |
$ SHOW DATABASES; |
Hozzunk létre egy dedikált adatbázist a Django alkalmazásunkhoz. Adjon neki egy megfelelő nevet, amely összhangban van a projekt nevével:
|
1 |
$ CREATE DATABASE demoapp_data; |
Ezután ellenőrizze a létrehozást:
|
1 |
$ SHOW DATABASES; |
Most hozzon létre egy dedikált MySQL-felhasználót. Ezt a felhasználót fogjuk beállítani az adatbázis tulajdonosaként. A Django alkalmazás ennek a felhasználónak a hitelesítő adatait fogja használni a MySQL adatbázissal való munkához:
|
1 |
$ CREATE USER 'demoapp_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password123'; |
Adjon a(z) demoapp_user felhasználónak teljes jogosultságot a(z) demoapp_data:
|
1 |
$ GRANT ALL ON demoapp_data.* TO 'demoapp_user'@'%'; |
A jogosultságok módosításának érvénybe léptetéséhez töltse be újra a MySQL jogosultsági táblákat:
|
1 |
$ FLUSH PRIVILEGES; |
Az adatbázis most már készen áll a Django alkalmazáshoz való csatlakozásra.
-
Az adatbázis csatlakoztatása a Django alkalmazáshoz
Végezetül beállítjuk a Django alkalmazást, hogy az adatbázist használja az adattároláshoz. Nyissa meg a konfigurációs szkriptet: settings.py:
|
1 |
$ nano ~/myDemoApp/demoapp/demoapp/settings.py |
Görgessen le a következő bejegyzéshez: DATABASES és írja be a következő kódot:
|
1 2 3 4 5 6 7 8 |
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'OPTIONS': { 'read_default_file': '/etc/mysql/my.cnf', }, } } |
Mentse el a fájlt, és zárja be a szerkesztőt. A következő lépés a korábban leírt konfigurációs fájl beállítása. Használja a sudo parancsot a szöveges fájl megnyitásához a leírt helyen:
|
1 |
$ sudo nano /etc/mysql/my.cnf |
Ez a konfigurációs fájl fogja tartalmazni a Django-hoz rendelt adatbázis és a MySQL szerveren létrehozott felhasználó adatait. Adja hozzá a következő sorokat a fájl végéhez:
|
1 2 3 4 5 |
[client] database = demoapp_data user = demoapp_user password = password123 default-character-set = utf8 |
A változtatások életbe lépéséhez újra kell indítanunk a MySQL szervert:
|
1 2 |
$ sudo systemctl daemon-reload $ sudo systemctl restart mysql |
-
MySQL kapcsolat tesztelése
Most itt az ideje ellenőrizni, hogy a MySQL kapcsolat megfelelően működik-e. Ha a Django szerver probléma nélkül fut, akkor a kapcsolat jól működik. Ellenkező esetben valami hiba történt. Először alkalmazza a Django projekten végrehajtott összes változtatást:
|
1 |
$ python manage.py migrate |
Most lépjen a következő projektkönyvtárba, és indítsa el a Django szervert:
|
1 2 |
$ cd ~/myDemoApp/demoapp $ python manage.py runserver <server_ip_address>:8000 |
Ezután próbálja meg elérni a szervert egy webböngészőből:
|
1 |
$ http://<server_ip_address>:8000 |
Voila! Sikeresen megérkeztünk a Django sikeres oldalára. Ez azt is igazolja, hogy a MySQL kapcsolat megfelelően működik. Miután a feladat befejeződött, biztonságosan kiléphet a virtuális környezetből:
|
1 |
$ deactivate |
Záró gondolatok
Ebben az útmutatóban megismerhette a Django és a MySQL kombinálásának alapjait. Létrehoztunk egy Django alkalmazást, és bemutattuk, hogyan lehet azt összekapcsolni egy MySQL adatbázissal. A varázslat a Django konfigurációs fájljában rejlik: settings.py. Módosítottunk néhány alapvető beállítást is, mint például az ALLOWED_HOSTS és a TIME_ZONE. A Django hihetetlenül rugalmas. A MySQL mellett más SQL szervereket is támogat, mint például a PostgreSQL, valamint olyan szervermotorokat, mint az Nginx stb.
Megtekintheti a Django telepítésével, konfigurálásával és használatával kapcsolatos legjobb gyakorlatokról szóló útmutatóinkat is:
- A Django webes keretrendszer telepítése Ubuntu 20.04 rendszerre
- A Django beállítása PostgreSQL, Nginx és Gunicorn használatával Ubuntu 20.04 rendszeren
- Django modellek létrehozása: Útmutató
Kellemes számítógépes munkát!





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