A Django Web Framework telepítése és konfigurálása virtuális környezetekkel CentOS/Debian rendszerben – 1. rész
„Ezt a cikket felülvizsgáltuk és frissítettük a Django legújabb verziójával – 2016. május”
Körülbelül 20 évvel ezelőtt, amikor a World Wide Web még gyerekcipőben járt, a személyes vagy üzleti webhely szinte ritka luxusnak számított. Több webes technológia későbbi fejlődésével, valamint a szerveroldali programok és adatbázisok kombinációjával biztosított dinamikus tartalom bevezetésével a cégek már nem elégedettek meg a statikus weboldallal.
Így a webes alkalmazások valósággá váltak – a szó teljes értelmében a webszerver tetején futó, webböngészőn keresztül elérhető programok.
A fejlesztés egyszerűbbé és hatékonyabbá tétele érdekében a webes keretrendszereket úgy alakították ki, hogy segítsék a programozókat az alkalmazások létrehozásában. Röviden, a webes keretrendszer gondoskodik a fejlesztési folyamat közös alapvető funkcióiról, például a felhasználói munkamenet-kezelésről, az adatbázisokkal való interakcióról, valamint az üzleti logika és a megjelenítési logika elkülönítésének bevált gyakorlatáról, hogy csak néhány példát említsünk.
Ebben a 3 cikkből álló Django sorozatban bemutatjuk a Djangot, a Python alapú népszerű webes keretrendszert. Emiatt javasolt legalább egy kis ismeret ebben a programozási nyelvben, de ha kevés vagy nincs tapasztalata vele, mi is végigvezetjük az alapokon.
A Django telepítése CentOS és Debian szerverekre
Bár a Django telepíthető a Debianból (v1.7.7: a kiterjesztett támogatás 2015. decembertől megszűnik) és a Fedora EPEL-ről ( >v1.6.11: a kiterjesztett támogatás megszűnt a 2015. április adattáraknál, az elérhető verzió nem a legújabb stabil LTS (Long Term Support) kiadás (v1.8.13)., 2016. május állapot szerint).
Ebben az oktatóanyagban bemutatjuk, hogyan kell telepíteni a Django v1.8.13 verziót, mivel a kiterjesztett támogatás legalább 2018 áprilisáig garantált.
A Django telepítésének javasolt módja a pip, a Python-csomagok kezelésére szolgáló népszerű eszköz. Ezenkívül az elszigetelt Python-környezetek létrehozása és az olyan projektek közötti konfliktusok elkerülése érdekében, amelyek különböző verziójú szoftverfüggőségeket igényelhetnek, erősen javasolt a virtuális környezetek használata.
A virtuális Python-környezetek létrehozásához és kezeléséhez használt eszközök neve virtualenv.
A telepítés végrehajtásához kövesse az alábbi lépéseket:
1. Fedora-alapú disztribúciók esetén (kivéve magában a Fedorában) először engedélyezze az EPEL-tárat:
yum update && yum install epel-release
2. A pip és a virtualenv telepítése:
Fedora alapú disztribúciók:
yum install python-pip python-virtualenv
OR
dnf install python-pip python-virtualenv
Debian és származékai:
aptitude update && aptitude install python-pip virtualenv
3. Hozzon létre egy könyvtárat a kezdeti projekt tárolására.
mkdir ~/myfirstdjangoenv
cd ~/myfirstdjangoenv
4. Virtuális környezet létrehozása és aktiválása:
virtualenv myfirstdjangoenv
A fenti parancs egy csomó fájlt és alkönyvtárat hoz létre a ~/myfirstdjangoenv mappába, és alapvetően telepíti a Python és a pip helyi másolatát az aktuális munkakönyvtárban. . Ezután aktiválnunk kell az imént létrehozott virtuális környezetet:
source myfirstdjangoenv/bin/activate
5. Figyelje meg, hogyan változik a parancssor az utolsó parancs után. Itt az ideje a Django telepítésének:
Ne feledje, hogy az alábbi képernyőkép az oktatóanyag egy korábbi verziója során készült, de a várt kimenet ugyanaz a Django 1.8.13 telepítésekor ):
pip install Django==1.8.13
A Django verziót úgy ellenőrizheti, hogy elindít egy Python-héjat az aktuális munkakönyvtárból:
python
>>> import django
>>> print(django.get_version())
(A fenti parancsnak ismét az 1.8.13 értéket kell visszaadnia a Django aktuális verziójának ellenőrzésekor).
A Python promptból való kilépéshez írja be:
>>> exit()
és nyomja meg az Enter billentyűt. Ezután kapcsolja ki a virtuális környezetet:
deactivate
Kérjük, vegye figyelembe, hogy amíg a virtuális környezet deaktiválva marad, a Django nem érhető el:
Hogyan készítsünk első projektet a Django-ban
Ahhoz, hogy projektet hozzon létre a korábban létrehozott virtuális környezetben, aktiválni kell:
source myfirstdjangoenv/bin/activate
Ezután a keretrendszer létrehozza a teljes könyvtárstruktúrát a projekt tárolására. Ehhez futnia kell.
django-admin startproject myfirstdjangoproject
A fenti parancs létrehoz egy myfirstdjangoproject nevű könyvtárat az aktuális munkakönyvtárban.
ahol talál egy manage.py nevű fájlt (egy segédprogramot, amely segít a későbbiekben a projekt kezelésében) és egy másik alkönyvtárat (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). Ez az utolsó alkönyvtár fog szolgálni a projektfájlok tárolójaként.
Míg a többi fájl valóban értelmes lesz, miután átnéztünk néhány Python-t, hogy elkezdhessünk egy valódi webalkalmazást, érdemes megjegyezni a kulcsfontosságú fájlokat, amelyek a projekttároló könyvtárában találhatók:
- myfirstdjangoproject/__init__.py: Ez az üres fájl jelzi a Pythonnak, hogy ezt a könyvtárat Python-csomagnak kell tekinteni.
- myfirstdjangoproject/settings.py: Speciális beállítások ehhez a Django-projekthez.
- myfirstdjangoproject/urls.py: a Django által üzemeltetett webhely tartalomjegyzéke (Table Of Contents).
- myfirstdjangoproject/wsgi.py: A WSGI-kompatibilis webszerverek belépési pontja a projekt kiszolgálásához.
ls
ls -l myfirstdjangoproject
ls -l myfirstdjangoproject/myfirstdjangoproject
Ezenkívül a Django rendelkezik egy könnyű beépített webszerverrel (a Python SimpleHTTP-hez hasonlóan Python nyelven íródott, mi más?), amellyel tesztelheti alkalmazásait a fejlesztés során. folyamatot anélkül, hogy a webszerver beállításával kellene foglalkoznia ebben a szakaszban.
Azt azonban tudni kell, hogy ez nem alkalmas termelési környezetre – csak fejlesztésre. Az újonnan létrehozott projekt elindításához módosítsa jelenlegi munkakönyvtárát a projekt konténerkönyvtárára (~/myfirstdjangoenv/myfirstdjangoproject), és futtassa:
python manage.py runserver 0.0.0.0:8000
Ha a következő hibába ütközik:
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
Tedd, amit ír:
python manage.py migrate
majd indítsa újra a szervert:
python manage.py runserver 0.0.0.0:8000
A migráció fogalmával a sorozat következő cikkeiben foglalkozunk, így egyelőre figyelmen kívül hagyhatja a hibaüzenetet.
Mindenesetre módosíthatja az alapértelmezett portot, ahol a beépített webszerver figyelni fog. Ha a 0.0.0.0-t használjuk hálózati interfészként a figyeléshez, lehetővé tesszük, hogy ugyanazon a hálózaton lévő többi számítógép is hozzáférjen a projekt felhasználói felületéhez (ha helyette a 127.0.0.1-t használja, csak a localhostról érheti el a felhasználói felületet).
A portot megváltoztathatja egy másikra is, amelyet választott, de azt is meg kell győződnie arról, hogy az ezen a porton keresztüli forgalom engedélyezett a tűzfalon keresztül:
firewall-cmd --add-port=8000/tcp
firewall-cmd --permanent --add-port=8000/tcp
Természetesen magától értetődik, hogy frissítenie kell az engedélyezett portot, ha másikat választ a könnyű webszerver indításakor.
A következő kimenetet kell látnia a terminálon:
python manage.py runserver 0.0.0.0:8000
Ezen a ponton megnyithatja kedvenc webböngészőjét, és navigálhat annak a gépnek az IP-címére, amelyre telepítette a Django-t, majd a portszámot. Az én esetemben ez egy Debian Jessie doboz, amelynek IP-címe 192.168.0.25, és a 8000 porton figyel:
http://192.168.0.25:8000
Bár nagyszerű dolog, hogy sikerült befejeznünk egy projekt kezdeti beállítását, még mindig sok a tennivaló, amint azt a fenti üzenet is jelzi.
Összegzés
Ebben az útmutatóban elmagyaráztuk, hogyan telepíthet és konfigurálhat virtuális környezetet a Django számára, egy Python alapú, sokoldalú nyílt forráskódú webes keretrendszerhez.
Függetlenül attól, hogy alkalmazásfejlesztő vagy rendszergazda, érdemes ezt a cikket és a sorozat többi részét a könyvjelzők közé tenni, mert valószínű, hogy valamikor meg kell fontolnia, hogy szükség van-e ilyen eszközre a napi feladataihoz.
A sorozat következő cikkeiben megvitatjuk, hogyan építhetünk arra, amit már elértünk egy egyszerű, mégis működőképes webalkalmazás létrehozásához Django és Python használatával.
Mint mindig, ne habozzon jelezni nekünk, ha kérdései vannak ezzel a cikkel kapcsolatban, vagy javítási javaslatai vannak. Várom válaszukat!