Django veebiraamistiku installimine ja konfigureerimine virtuaalsete keskkondadega CentOS/Debianis - 1. osa


Umbes 20 aastat tagasi, kui veeb oli alles lapsekingades, oli isikliku või ettevõtte veebisaidi pidamine peaaegu haruldane luksus. Mitmete veebitehnoloogiate hilisema väljatöötamise ja serveripoolsete programmide ning andmebaaside kombinatsiooni pakutava dünaamilise sisu kasutuselevõtuga ei saanud ettevõtted staatilise veebisaidi olemasoluga enam rahul olla.

Seega said veebirakendused reaalsuseks - programmid selle sõna täielikus tähenduses, mis töötavad veebiserveri peal ja on ligipääsetavad veebibrauseri kaudu.

Arenduse lihtsustamiseks ja tõhusamaks muutmiseks töötati välja veebiraamistikud, mis aitaksid programmeerijatel rakenduste loomisel pingutada. Lühidalt, veebiraamistik hoolitseb arendusprotsessi ühiste põhifunktsioonide eest, nagu näiteks kasutaja seansside haldamine, suhtlemine andmebaasidega ja hea tava hoida äriloogika kuvaloogikast eraldi, kui tuua mõned näited.

Selles 3-artiklilises Django-sarjas tutvustame teile Pythonil põhinevat populaarset veebiraamistikku Django. Sel põhjusel soovitatakse seda programmeerimiskeelt vähemalt pisut tundma õppida, kuid kui teil pole sellega vähe kogemusi, siis tutvustame teile ka põhitõdesid.

Django installimine CentOS-i ja Debiani serveritesse

Kuigi Django saate installida nii Debiani (v1.7.7: laiendatud tugi lõpetatakse detsembris 2015) kui ka Fedora EPEL (v1.6.11: laiendatud tugi lõpetati aprillil 2015) hoidlatest, pole saadavalolev versioon uusim stabiilne LTS (Pikaajaline tugi) väljaanne (v1.8.13, mai 2016 seisuga).

Selles õpetuses näitame teile, kuidas installida Django v1.8.13, kuna selle laiendatud tugi on tagatud vähemalt 2018. aasta aprillini.

Soovitatav meetod Django installimiseks on pippi kaudu populaarne Pythoni pakettide haldamise tööriist. Samuti on isoleeritud Pythoni keskkondade loomiseks ja selliste konfliktide vältimiseks projektide vahel, mis võivad vajada tarkvarasõltuvuste erinevaid versioone, väga soovitatav kasutada virtuaalseid keskkondi.

Tööriistu, mida kasutatakse virtuaalsete Pythoni keskkondade loomiseks ja haldamiseks, nimetatakse virtualenv-ks.

Installimise teostamiseks toimige järgmiselt.

1. Fedora-põhiste jaotuste korral (välja arvatud Fedora enda puhul) lubage esmalt EPEL-hoidla:

# yum update && yum install epel-release

2. Installige pip ja virtualenv:

# yum install python-pip python-virtualenv
OR 
# dnf install python-pip python-virtualenv
# aptitude update && aptitude install python-pip virtualenv

3. Looge kataloog oma esialgse projekti salvestamiseks.

# mkdir ~/myfirstdjangoenv
# cd ~/myfirstdjangoenv

4. Looge ja aktiveerige virtuaalne keskkond:

# virtualenv myfirstdjangoenv

Ülaltoodud käsk loob hulga faile ja alamkatalooge kausta ~/myfirstdjangoenv ning installib põhiliselt praeguse töökataloogi Pythoni ja pipi kohaliku koopia. Järgmisena peame aktiveerima just loodud virtuaalse keskkonna:

# source myfirstdjangoenv/bin/activate

5. Pange tähele, kuidas käsuviip muutub pärast viimast käsku. Nüüd on aeg installida Django:

Pange tähele, et järgmine ekraanipilt on tehtud selle õpetuse eelmise versiooni ajal, kuid eeldatav väljund on Django 1.8.13 installimisel sama:

# pip install Django==1.8.13

Django versiooni saate kontrollida, käivitades oma praegusest töökataloogist Pythoni kesta:

# python
>>> import django
>>> print(django.get_version())

(Jällegi peaks ülaltoodud käsk Django praeguse versiooni kontrollimisel tagastama 1.8.13).

Pythoni viipast väljumiseks tippige:

>>> exit() 

ja vajutage sisestusklahvi. Järgmisena lülitage virtuaalne keskkond välja:

# deactivate

Pange tähele, et kuigi virtuaalne keskkond on endiselt inaktiveeritud, pole Django saadaval:

Kuidas luua esimene projekt Djangos

Varem loodud virtuaalses keskkonnas projekti loomiseks tuleb see aktiveerida:

# source myfirstdjangoenv/bin/activate

Järgmisena loob raamistik kogu kataloogistruktuuri teie projekti salvestamiseks. Selleks peate jooksma.

# django-admin startproject myfirstdjangoproject

Ülaltoodud käsk loob teie praeguses töökataloogis kataloogi myfirstdjangoproject.

kust leiate faili nimega manag.py (utiliit, mis aitab teil hiljem oma projekti hallata) ja teise alamkataloogi (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). See viimane alamkataloog toimib projektifailide konteinerina.

Ehkki ülejäänud failidel on tõeline mõte pärast seda, kui oleme mõne Pythoni üle vaadanud, et hakata kirjutama tõelist veebirakendust, on väärt ja hea võtta arvesse võtmefaile, mis leiate projektikonteinerite kataloogist:

  1. myfirstdjangoproject/__ init__.py: See tühi fail ütleb Pythonile, et seda kataloogi tuleks pidada Pythoni paketiks.
  2. myfirstdjangoproject/settings.py: selle Django projekti konkreetsed seaded.
  3. myfirstdjangoproject/urls.py: teie Django toega saidi TOC (sisukord).
  4. myfirstdjangoproject/wsgi.py: WSGI-ga ühilduvate veebiserverite sisenemispunkt teie projekti teenindamiseks.

# ls 
# ls -l myfirstdjangoproject
# ls -l myfirstdjangoproject/myfirstdjangoproject

Lisaks on Djangol kerge sisseehitatud veebiserver (mis on Pythoniga kirjutatud sarnaselt Python SimpleHTTP-ga, mis veel?), Mida saab kasutada teie rakenduste testimiseks arendusprotsessi ajal, ilma et peaksite tegelema veebiserveri seadistamise ülesandega aadressil selles konkreetses etapis.

Kuid peate teadma, et see ei sobi tootmiskeskkonda - lihtsalt arendamiseks. Värskelt loodud projekti käivitamiseks muutke oma praegune töökataloog oma projekti konteinerkataloogiks (~/myfirstdjangoenv/myfirstdjangoproject) ja käivitage:

# python manage.py runserver 0.0.0.0:8000

Kui teil tekib järgmine tõrge:

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

Tehke seda, mis on kirjas:

# python manage.py migrate

ja seejärel käivitage server uuesti:

# python manage.py runserver 0.0.0.0:8000

Rändete mõistet käsitleme selle seeria järgmistes artiklites, nii et võite veateate esialgu eirata.

Igal juhul saate muuta vaikeporti, kus sisseehitatud veebiserver kuulab. Kasutades kuulamiseks võrguliidesena 0.0.0.0, lubame teistel sama võrgu arvutitel projekti kasutajaliidesele juurde pääseda (kui kasutate selle asemel 127.0.0.1, pääsete kasutajaliidese juurde ainult localhostist).

Võite ka muuta pordi enda valitud teiseks, kuid peate ka veenduma, et liiklus sellise pordi kaudu on lubatud teie tulemüüri kaudu:

# firewall-cmd --add-port=8000/tcp
# firewall-cmd --permanent --add-port=8000/tcp

Muidugi on ütlematagi selge, et peate värskendama lubatud porti, kui otsustate kerge veebiserveri käivitamisel kasutada mõnda muud.

Teie terminalis peaksite nägema järgmist väljundit:

# python manage.py runserver 0.0.0.0:8000

Siinkohal saate avada oma lemmikveebibrauseri ja navigeerida selle masina IP-aadressile, kuhu installisite Django, millele järgnes pordi number. Minu puhul on see Debian Jessie kast IP-ga 192.168.0.25 ja kuulab pordil 8000:

http://192.168.0.25:8000

Kuigi see on suurepärane asi, et suutsime projekti esialgse seadistamise lõpule viia, on veel palju tööd teha, nagu näidatud ülaltoodud sõnumis.

Kokkuvõte

Selles juhendis oleme selgitanud, kuidas installida ja konfigureerida virtuaalset keskkonda Djangole, mitmekülgsele avatud lähtekoodiga veebiraamistikule, mis põhineb Pythonil.

Sõltumata sellest, kas olete rakenduste arendaja või süsteemiadministraator, soovite selle artikli ja ülejäänud seeria järjehoidjatesse lisada, sest on tõenäoline, et peate ühel või teisel hetkel kaaluma sellise tööriista vajadust oma igapäevaste ülesannete täitmiseks.

Selle seeria järgmistes artiklites arutleme, kuidas jätkata juba saavutatule, et luua lihtne, kuid funktsionaalne veebirakendus, kasutades Django ja Pythoni.

Nagu alati, ärge kartke meile märkust anda, kui teil on selle artikli kohta küsimusi või soovitusi selle parandamiseks. Ootame teid huviga!