A Django keretrendszeren belüli projektek és alkalmazások szerepének és funkcióinak alapos megértése.
A Djangoban két elsődleges összetevőt használhat webalkalmazások létrehozásához; alkalmazások és projektek. A fejlesztők néha felcserélhetően használják ezeket a kifejezéseket, bár a Django webes keretrendszerben eltérő jelentéssel és funkcióval rendelkeznek.
A Django projektek megértése
A Django-ban a projekt a webalkalmazás legfelső szintű tárolója. Egy projekt tartalmazza a webalkalmazás és egy vagy több alkalmazás konfigurációit, amelyek mindegyike meghatározott funkciókat vagy funkciókat biztosít a webalkalmazáshoz. Tartalmaz továbbá minden olyan összetevőt, amelyet a különböző alkalmazásai között megosztanak. A Django projektekben olyan eszközöket és segédprogramokat találhat, amelyek megkönnyítik a webalkalmazások kezelését, például a Django parancssori segédprogramot és a Django fejlesztőkiszolgálót.
Egy Django projekt összetevői
A Django-projektek általában különböző alkalmazásokat és webalkalmazásainak konfigurációit tartalmazzák. Amikor új projektet hoz létre, a Django automatikusan létrehozza ezeket a konfigurációkat tartalmazó fájlokat. A Django projekt összetevői a következők:
- Beállítások: A beállítási modul a projekthez és a projektben lévő egyes alkalmazásokhoz szükséges konfigurációkat tartalmazza. Ez a modul elsősorban olyan konfigurációs beállításokat tartalmaz, mint az adatbázis-kapcsolat, a köztes szoftver, a telepített alkalmazás, az engedélyezett gazdagépek és a webalkalmazás működéséhez szükséges egyéb konfigurációk.
- URL-ek: Az URL-ek modul meghatározza az alkalmazás URL-mintáját. A projektben minden egyes URL-minta leképezhet egy másik URL-formátumot az alkalmazásban, vagy közvetlenül egy nézetfunkcióhoz, amely kezeli az adott URL-re vonatkozó kérést. Függetlenül attól, hogy az URL-minta egy nézetfunkcióhoz vagy egy másik URL-mintához van hozzárendelve az alkalmazásban, a végső cél az, hogy a kérést hatékonyan kezelő nézethez hozzárendelje.
- WSGI: A WSGI (Web Server Gateway Interface) modul a Python szabvány webszerverekhez és alkalmazásokhoz. A WSGI modul lehetővé teszi a Django számára, hogy különböző szervereken fusson.
- ASGI: Az ASGI (Asynchronous Server Gateway Interface) modul kezeli az aszinkron kéréseket, mint pl. WebSockets kapcsolatok. Az ASGI az aszinkron webszerverek szabványa a Python webalkalmazásokkal való kommunikációhoz.
- Egyéb alkatrészek: Időnként saját összetevőket kell hozzáadnia a Django projekthez, az alkalmazás követelményeitől függően. Ezek az összetevők közé tartoznak a statikus fájlok, sablonok, médiafájlok és egyéni felügyeleti parancsok.
Hogyan készítsünk Django projektet
Django projekt létrehozásához használja a django-admin parancssori segédprogram. A Django projektet az alábbi lépésekkel hozhatja létre:
- A parancssori felületen keresse meg azt a könyvtárat, ahol létre szeretné hozni a Django projektet.
- Telepítse a Django-t a pip csomagkezelővel.
pip install django
- Írja be a következő parancsot, és futtassa:
django-admin startprojekt
A fenti parancs egy ilyen könyvtárat hoz létre:
Redundanciát fog észrevenni a projektkönyvtár nevében, azaz a projekt neve kétszer jelenik meg. Ha meg szeretne szabadulni ettől, megadhat egy időszakot, amikor futtatja a startprojekt parancs így:
django-admin startprojekt .
Most a projekt szerkezete így fog kinézni:
A fenti lépésekkel sikeresen létre kell hoznia egy Django projektet. A manage.py a projektben létrehozott fájl fontos a Django projekttel való interakcióhoz.
A Django alkalmazás megértése
Az alkalmazások célja, hogy a Django projektet meghatározott funkciókkal látják el. Egy alkalmazás segít a kódbázis rendszerezésében azáltal, hogy a projekt funkcióit kisebb komponensekre bontja.
Például egy blogprojektben lesz egy hitelesítési és engedélyezési alkalmazás, egy másik pedig a blogbejegyzések számára. Több alkalmazást is létrehozhat projektje egyedi igényei alapján.
A Django App összetevői
A Django-alkalmazások a projekthez, azaz a webhely egy adott funkciójához kapcsolódó modulokból állnak. A projektekhez hasonlóan a Django is automatikusan hasznos fájlokat hoz létre az alkalmazás létrehozásakor. A Django által generált fájlok a következők:
- views.py: Ez a fájl tartalmazza a kérések fogadásához és a válaszok küldéséhez szükséges összes logikát. Azt is meghatározza, hogy melyik HTML-sablont jelenítse meg a felhasználó webhelyén végzett műveletei alapján.
- modellek.py: Ez a modul létrehozza az alkalmazás adatszerkezetét, és meghatározza, hogy az adatbázis hogyan tárolja azt. A Django ORM-jét (Object-Relational Mapping) használja az adatok meghatározásához. A modell komponens mást definiál adatbázis kapcsolatok a Django-ban.
- admin.py: Az adminisztrációs modul határozza meg a Django alkalmazás adminisztrációs felületét. Regisztrálnia kell a modelleket az adminisztrációs fájlban. Ha a Django által biztosítottakon túl további adminisztrátori funkciókra van szüksége, ebben a modulban egyéni nézeteket határozhat meg adminisztrátori felületéhez.
- urls.py: Ez a fájl egy adott Django alkalmazás egyedi URL-mintáit vagy útvonalait határozza meg. Néha a Django nem generálja automatikusan ezt a fájlt. Ha ez megtörténik, manuálisan is létrehozhatja az alkalmazáskönyvtárban.
A Django más összetevőket is generál, mint pl apps.py és tesztek.py. Ezek a fájlok határozzák meg az alkalmazás konfigurációit, és lehetővé teszik egységtesztek írását.
Hogyan hozzunk létre egy Django alkalmazást
Mielőtt létrehozna egy alkalmazást, létre kell hoznia egy projektet. A projekt létrehozása után keresse meg a következőt tartalmazó könyvtárat manage.py fájlt, és futtassa a következő parancsot a terminálon:
python manage.py startproject
A fenti parancs egy ehhez hasonló mappastruktúrát hoz létre a projekttel azonos könyvtárszinten:
Különbség egy alkalmazás és egy projekt között a Django-ban
Van néhány határozott különbség a projekt és az alkalmazás között a Django-ban. Néhányat az alábbiakban sorolunk fel.
Kód újrafelhasználhatósága
A Djangoban egy alkalmazás a webalkalmazás újrafelhasználható összetevője. Ez azt jelenti, hogy ha van olyan alkalmazása, amely kezeli a felhasználói hitelesítést az egyik projekthez, akkor ugyanazt az alkalmazást kis változtatásokkal vagy változtatás nélkül újra felhasználhatja egy másik projektben. Egy projekt viszont nem használható fel újra. Miután létrehoz egy projektet egy adott webalkalmazáshoz, azt nem használhatja másik alkalmazáshoz.
Működési kör
Egy projekt magasabb szinten működik, mint egy alkalmazás, mert felelős a webhely általános konfigurációjáért és kezeléséért. Másrészt egy alkalmazás csak a webhely egy bizonyos funkciójáért vagy funkciójáért felelős.
Mappa szerkezete
A legnyilvánvalóbb különbség az alkalmazások és a projektek között a mappaszerkezetük. Egy projekt általában olyan beállításokat és egyéb konfigurációs fájlokat tartalmaz, amelyek felelősek a webhely jólétéért.
Egy alkalmazás következik A Django MVT architektúrája. Csak olyan fájlokat és konfigurációkat tartalmaz, amelyek felelősek webhelye egy adott funkciójának jólétéért.
Az Ön projektje és alkalmazása együtt jó webalkalmazást hoz létre
Noha a projektnek és az alkalmazásnak megvan a maga egyedisége, végső soron arra használják őket, hogy zökkenőmentes élményt nyújtsanak az alkalmazás elkészítésekor. A webalkalmazás létrehozásához és testreszabásához képesnek kell lennie a projekt és az alkalmazás összetevőinek kombinálásával. Ha az alkalmazás és a projekt a helyén van, elkezdheti építeni webhelyét a Django segítségével.