A fejlesztés megkezdéséhez hozzátok létre a projectet, abban pedig egy app-ot. A projectben kell megadni a beállításokat, többek között azt, miként kapcsolódjon az adatbázishoz, milyen időzónát használjon, honnan vegye a stílusfájlokat stb. Egy project több app-ot is tartalmazhat. Projectnévnek a djangosuli-t választom.
Itt a blogban kezdetnek egy könyv nyilvántartó programot készítünk el, hiszen biztos mindenki szembesült már azzal a problémával, hogy túl sok könyve van otthon, meg a szüleinél stb. és ezeket jó lenne valahogy megjeleníteni egy weboldalon, hogy a barátaink azt böngésszék és ne a könyvespolcot túrják fel...
Terminál (cmd) ablakba írjátok be:
python django-admin.py startproject djangosuli
Ezt a parancsot a c:\Python27\Lib\site-packages\django-1.7.1-py2.7.egg\django\bin könyvtárból adjátok ki, mert ott található a django-admin.py fájl. (Ez az elérési út függ a Django verziószámától, meg persze csak Windowson működik...) Project névnek kisbetűs, ékezet nélküli nevet válasszatok.
A parancs létrehozza a djangosuli könyvtárat, amiben rögtön lesz néhány fájl és egy könyvtár:
projectnév/
manage.py
djangosuli/
__init__.py
settings.py
urls.py
wsgi.py
A manage.py segítségével tudjátok majd a projectre vonatkozó django parancsokat kiadni, melyek pl. létrehozzák az adatbázist, vagy elindítják a webszervert.
Az __init__.py jelzi a Pythonnak, hogy ez egy modul.
A settings.py-ben vannak a project szintű beállítások, többek között az adatbázis adatait is itt kell megadni.
Az urls.py-ben tudjátok megadni az oldalakhoz tartozó url-eket.
A wsgi.py pedig az oldal éles futtatásához kell, wsgi kompatibilis webszerverekhez, mint pl. az Apache.
A manage.py-be írjátok bele ezt a két sort:
import pymysql
pymysql.install_as_MySQLdb()
Ezzel állítjátok be, hogy a pymysql modullal kapcsolódjon az adatbázishoz. Léteznek más modulok is erre a feladatra, ennek az az előnye, hogy teljes egészében Pythonban írták, így teljesen platformfüggetlen.
A Terminál ablakban lépjetek be az újonnan létrehozott projectetek könyvtárába, majd futtassátok le a
python manage.py startapp books
parancsot, mely létrehozza az alkalmazásotokat (jelen esetben a books appot) a hozzávaló fájlokkal együtt:
books/
__init__.py
admin.py
migrations/
__init__.py
models.py
tests.py
views.py
Az admin.py-be kerülnek majd az admin felületet megjelenítő kódok, erről majd később...
A migrations könyvtárba kerülnek majd azok a fájlok, melyeket akkor hoz létre a Django, ha módosítjátok az adatbázis szerkezetét.
A models.py-ben lényegében az adatbázis szerkezetét írjuk le.
A tests.py-be a teszteket írhatjuk.
A views.py-be kerülnek majd azok a függvények, melyek egy-egy url megjelenítésért felelnek.
Indítsátok el a Query Browser-t, és a megjelenő kis ablakba írjátok be a MySQL szerveretek adatait (Server Host: localhost, a Username és Password az, amit telepítéskor megadtatok, a Default schema-t meg hagyjátok üresen).
Jobb oldalt a Shemadata felületen látjátok az adatbázisokat, legfelül a parancsbeviteli terület van, középen pedig a lekérdezések eredménye jelenik meg. A parancsbeviteli területen írjátok be a
create database djangosuli;
parancsot, majd Execute (CTRL+ENTER). Most létrehoztátok a "djangosuli" adatbázist, frissítsétek a Schemadata területet (jobb klikk, Refresh) és meg is jelenik rögtön. A Django ebben az adatbázisban fogja létrehozni a táblákat.
A settings.py-ben a DATABASES-t írjátok át ilyenre:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangosuli',
'USER': 'DB_USER',
'PASSWORD': 'DB_PASSWORD',
'HOST': 'localhost',
'PORT': '3306',
}
}
ahol a DB_USER és a DB_PASSWORD az a felhasználónév és jelszó, amit a MySQL telepítésekor megadtatok, a NAME pedig az újonnan létrehozott adatbázisotok neve.
Az INSTALLED_APPS-ba pedig írjátok bele az appotok nevét. Később, ha szeretnétek modulokat telepíteni a projectetekbe, pl. AJAX használatához, akkor azt is ebbe a tuple-ba kell beírni.
Adjátok ki a
python manage.py migrate
parancsot, mely létrehozza a Djangohoz tartozó adatbázis táblákat, majd ha ez sikeres volt, akkor a
python manage.py runserver
parancsot is. Ez utóbbi elindítja a beépített webszervert, melyet fejlesztésre lehet használni. Ha minden jól ment, akkor a http://127.0.0.1:8000 címen megnézhetitek az eredményt.
További infókért olvassátok el ezt a tutorial-t (mely a bejegyzés forrása is).