Django Web Framework instalēšana un konfigurēšana ar virtuālajām vidēm CentOS/Debian - 1. daļa


Pirms aptuveni 20 gadiem, kad globālais tīmeklis vēl bija tikai sākuma stadijā, personiskas vai biznesa vietnes izveidošana bija gandrīz reta greznība. Pēc tam attīstoties vairākām tīmekļa tehnoloģijām un ieviešot dinamisku saturu, ko nodrošina servera puses programmu un datu bāzu kombinācija, uzņēmumi vairs nevarēja būt apmierināti ar statiskas tīmekļa vietnes izveidi.

Tādējādi tīmekļa lietojumprogrammas kļuva par realitāti - programmas pilnā vārda nozīmē, kas darbojas tīmekļa servera augšdaļā un kurām var piekļūt, izmantojot tīmekļa pārlūkprogrammu.

Lai padarītu attīstību vieglāku un efektīvāku, tika izveidotas tīmekļa struktūras, lai palīdzētu programmētājiem viņu centienos radīt lietojumprogrammas. Īsāk sakot, tīmekļa sistēma rūpējas par kopīgām galvenajām funkcijām attīstības procesā, piemēram, par lietotāju sesiju pārvaldību, mijiedarbību ar datu bāzēm un labu praksi, kā biznesa loģiku turēt atsevišķi no displeja loģikas, nosaucot dažus piemērus.

Šajā 3 rakstu sērijā Django mēs iepazīstināsim jūs ar Django - populāru tīmekļa sistēmu, kuras pamatā ir Python. Šī iemesla dēļ ir ieteicams vismaz nedaudz pārzināt šo programmēšanas valodu, taču, ja jums ar to ir maz vai vispār nav pieredzes, mēs arī iepazīsimies ar pamatiem.

Django instalēšana CentOS un Debian serveros

Lai gan jūs varat instalēt Django gan no Debian (v1.7.7: paplašināts atbalsts tiks pārtraukts 2015. gada decembrī), gan no Fedora EPEL (v1.6.11: paplašinātais atbalsts tika pārtraukts 2015. gada aprīlī) krātuvēs, pieejamā versija nav jaunākā stabilā LTS (Ilgtermiņa atbalsta) izlaidums (v1.8.13, no 2016. gada maija).

Šajā apmācībā mēs parādīsim, kā instalēt Django v1.8.13, jo tā paplašinātais atbalsts tiek garantēts vismaz līdz 2018. gada aprīlim.

Ieteicamā Django instalēšanas metode ir caur pip - populārs rīks Python pakotņu pārvaldībai. Turklāt, lai izveidotu izolētas Python vides un izvairītos no konfliktiem starp projektiem, kuriem var būt nepieciešamas dažādas programmatūras atkarības versijas, ļoti ieteicams izmantot virtuālās vides.

Rīki, kas tiek izmantoti virtuālo Python vides izveidošanai un pārvaldībai, tiek saukti par virtualenv.

Veiciet šīs darbības, lai veiktu instalēšanu:

1. Fedora balstītiem izplatījumiem (izņemot pašu Fedora) vispirms iespējojiet EPEL repozitoriju:

# yum update && yum install epel-release

2. Instalējiet pip un virtualenv:

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

3. Izveidojiet direktoriju sākotnējā projekta glabāšanai.

# mkdir ~/myfirstdjangoenv
# cd ~/myfirstdjangoenv

4. Izveidojiet un aktivizējiet virtuālo vidi:

# virtualenv myfirstdjangoenv

Iepriekš minētā komanda izveido virkni failu un apakšdirektoriju mapē ~/myfirstdjangoenv un būtībā instalē vietējo Python un pip kopiju pašreizējā darba direktorijā. Tālāk mums jāaktivizē tikko izveidotā virtuālā vide:

# source myfirstdjangoenv/bin/activate

5. Ievērojiet, kā pēc pēdējās komandas mainās komandu uzvedne. Ir pienācis laiks instalēt Django:

Ņemiet vērā, ka zemāk redzamais ekrānuzņēmums tika uzņemts šīs apmācības iepriekšējās versijas laikā, taču paredzētā izeja ir tāda pati, instalējot Django 1.8.13):

# pip install Django==1.8.13

Django versiju varat pārbaudīt, palaižot Python čaulu no pašreizējā darba direktorija:

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

(Atkal, iepriekšminētajai komandai jāatgriež 1.8.13, pārbaudot pašreizējo Django versiju).

Lai izietu no Python uzvednes, ierakstiet:

>>> exit() 

un nospiediet Enter. Pēc tam izslēdziet virtuālo vidi:

# deactivate

Lūdzu, ņemiet vērā, ka, lai gan virtuālā vide joprojām ir deaktivizēta, Django nav pieejams:

Kā izveidot pirmo projektu Django

Lai izveidotu projektu iepriekš izveidotajā virtuālajā vidē, tas ir jāaktivizē:

# source myfirstdjangoenv/bin/activate

Pēc tam ietvars izveidos visu direktoriju struktūru, lai saglabātu jūsu projektu. Lai to izdarītu, jums būs jāpalaiž.

# django-admin startproject myfirstdjangoproject

Iepriekš minētā komanda pašreizējā darba direktorijā izveidos direktoriju ar nosaukumu myfirstdjangoproject.

kur atradīsit failu ar nosaukumu manag.py (utilīta, kas vēlāk palīdzēs pārvaldīt jūsu projektu) un citu apakšdirektoriju (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). Šī pēdējā apakšdirektorija kalpos kā konteiners projekta failiem.

Kaut arī pārējiem failiem būs īsta jēga pēc tam, kad mēs esam pārskatījuši dažus Python, lai sāktu rakstīt īstu tīmekļa lietojumprogrammu, ir vērts un labi ņemt vērā galvenos failus, kas tiks atrasti projekta konteineru direktorijā:

  1. myfirstdjangoproject/__ init__.py: Šis tukšais fails norāda Python, ka šis direktorijs jāuzskata par Python paketi.
  2. myfirstdjangoproject/settings.py: konkrēti šī Django projekta iestatījumi.
  3. myfirstdjangoproject/urls.py: jūsu Django darbinātās vietnes TOC (Satura rādītājs).
  4. myfirstdjangoproject/wsgi.py: ieejas punkts WSGI saderīgiem tīmekļa serveriem jūsu projekta apkalpošanai.

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

Turklāt Django ir viegls iebūvēts tīmekļa serveris (kas rakstīts Python, līdzīgi kā Python SimpleHTTP, kas vēl?), Ko var izmantot, lai pārbaudītu jūsu lietojumprogrammas izstrādes procesā, nenodarbojoties ar tīmekļa servera iestatīšanas uzdevumu vietnē šajā konkrētajā posmā.

Tomēr jums jāzina, ka tas nav piemērots ražošanas videi - tikai attīstībai. Lai palaistu jaunizveidoto projektu, nomainiet pašreizējo darba direktoriju uz konteineru direktoriju savam projektam (~/myfirstdjangoenv/myfirstdjangoproject) un palaidiet:

# python manage.py runserver 0.0.0.0:8000

Ja rodas šāda kļūda:

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

Dariet to, kā teikts:

# python manage.py migrate

un pēc tam vēlreiz palaidiet serveri:

# python manage.py runserver 0.0.0.0:8000

Migrācijas jēdzienu mēs aplūkosim nākamajos šīs sērijas rakstos, tāpēc pagaidām jūs varat neņemt vērā kļūdas ziņojumu.

Jebkurā gadījumā jūs varat mainīt noklusējuma portu, kurā klausīsies iebūvētais tīmekļa serveris. Izmantojot 0,0.0.0 kā tīkla saskarni, lai klausītos, mēs ļaujam citiem datoriem tajā pašā tīklā piekļūt projekta lietotāja saskarnei (ja tā vietā izmantojat 127.0.0.1, UI varēsit piekļūt tikai no localhost).

Varat arī mainīt portu uz citu, kuru izvēlaties, taču jums arī jāpārliecinās, vai trafika caur šo portu ir atļauta caur jūsu ugunsmūri:

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

Protams, pats par sevi saprotams, ka jums būs jāatjaunina atļautais ports, ja, palaižot vieglo tīmekļa serveri, izvēlaties izmantot citu portu.

Jūsu terminālā jums vajadzētu redzēt šādu izvadi:

# python manage.py runserver 0.0.0.0:8000

Šajā brīdī varat atvērt savu iecienīto tīmekļa pārlūku un doties uz tās mašīnas IP adresi, kurā instalējāt Django, kam seko porta numurs. Manā gadījumā tā ir Debian Jessie kaste ar IP 192.168.0.25 un klausīšanās 8.000 ostā:

http://192.168.0.25:8000

Lai gan tas ir lieliski, ka mums izdevās pabeigt projekta sākotnējo iestatīšanu, joprojām ir daudz darāmā, kā norādīts iepriekš redzamajā ziņojumā.

Kopsavilkums

Šajā ceļvedī mēs esam paskaidrojuši, kā instalēt un konfigurēt virtuālo vidi Django - daudzpusīgai atvērtā koda tīmekļa sistēmai, kuras pamatā ir Python.

Neatkarīgi no tā, vai esat lietojumprogrammu izstrādātājs vai sistēmas administrators, jūs vēlaties atzīmēt šo rakstu un pārējo šo sēriju kā grāmatzīmi, jo pastāv iespēja, ka kādā vai otrā brīdī jums būs jāapsver šāda rīka nepieciešamība ikdienas uzdevumos.

Turpmākajos šīs sērijas rakstos mēs apspriedīsim, kā balstīties uz jau paveikto, lai izveidotu vienkāršu, tomēr funkcionālu tīmekļa lietojumprogrammu, izmantojot Django un Python.

Kā vienmēr, nevilcinieties nomest mums piezīmi, ja jums ir jautājumi par šo rakstu vai ieteikumi, ko uzlabot. Mēs ceram uz jums atbildi!