Weboldal keresés

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:

  1. myfirstdjangoproject/__init__.py: Ez az üres fájl jelzi a Pythonnak, hogy ezt a könyvtárat Python-csomagnak kell tekinteni.
  2. myfirstdjangoproject/settings.py: Speciális beállítások ehhez a Django-projekthez.
  3. myfirstdjangoproject/urls.py: a Django által üzemeltetett webhely tartalomjegyzéke (Table Of Contents).
  4. 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!