Django Web Frameworkin asentaminen ja määrittäminen virtuaaliympäristöillä CentOS/Debianissa - Osa 1


"Tämä artikkeli on tarkistettu ja päivitetty uusimmalla Djangon versiolla – toukokuu 2016"

Noin 20 vuotta sitten, kun World Wide Web oli vielä lapsenkengissään, henkilökohtaisen tai yrityksen verkkosivuston pitäminen oli melkein harvinaista luksusta. Useiden verkkoteknologioiden myöhemmän kehityksen ja palvelinpuolen ohjelmien ja tietokantojen yhdistelmän tarjoaman dynaamisen sisällön käyttöönoton myötä yritykset eivät enää voineet olla tyytyväisiä staattiseen verkkosivustoon.

Siten web-sovelluksista tuli todellisuutta – ohjelmia sanan täydessä merkityksessä, jotka toimivat web-palvelimen päällä ja ovat käytettävissä verkkoselaimen kautta.

Kehittämisen helpottamiseksi ja tehostamiseksi web-kehykset suunniteltiin auttamaan ohjelmoijia heidän pyrkimyksissään luoda sovelluksia. Lyhyesti sanottuna web-kehys huolehtii kehitysprosessin yleisistä ydintoiminnallisuuksista, kuten käyttäjien istunnonhallinnasta, tietokantojen vuorovaikutuksesta ja hyvästä käytännöstä pitää liiketoimintalogiikka erillään näyttölogiikasta, muutamia esimerkkejä mainitakseni.

Tässä kolmen artikkelin Django-sarjassa esittelemme sinulle Djangon, suositun Python-pohjaisen verkkokehyksen. Tästä syystä suositellaan ainakin pientä perehtymistä tähän ohjelmointikieleen, mutta jos sinulla on vähän tai ei ollenkaan kokemusta siitä, opastamme sinut myös perusasiat läpi.

Djangon asentaminen CentOS- ja Debian-palvelimiin

Vaikka voit asentaa Djangon sekä Debianista (v1.7.7: laajennettu tuki lopetetaan joulukuussa 2015) ja Fedora EPEL:stä ( >v1.6.11: laajennettu tuki lopetettiin huhtikuussa 2015, saatavilla oleva versio ei ole uusin vakaa LTS (Long Term Support) -julkaisu (v1.8.13)., toukokuussa 2016).

Tässä opetusohjelmassa näytämme, kuinka Django v1.8.13 asennetaan, sillä sen laajennettu tuki on taattu ainakin huhtikuuhun 2018 asti.

Suositeltu tapa asentaa Django on pip, suosittu työkalu Python-pakettien hallintaan. Virtuaaliympäristöjen käyttö on myös erittäin suositeltavaa, jotta voidaan luoda eristettyjä Python-ympäristöjä ja välttää ristiriidat projektien välillä, jotka saattavat vaatia eri versioita ohjelmistoriippuvuudesta.

Työkaluja, joita käytetään virtuaalisten Python-ympäristöjen luomiseen ja hallintaan, kutsutaan nimellä virtualenv.

Suorita asennus seuraavasti:

1. Ota EPEL-arkisto käyttöön Fedora-pohjaisissa jakeluissa (paitsi itse Fedorassa):

yum update && yum install epel-release

2. Asenna pip ja virtualenv:

Fedora-pohjaiset distrot:

yum install python-pip python-virtualenv
OR 
dnf install python-pip python-virtualenv
Debian ja johdannaiset:
aptitude update && aptitude install python-pip virtualenv

3. Luo hakemisto alkuperäisen projektisi tallentamista varten.

mkdir ~/myfirstdjangoenv
cd ~/myfirstdjangoenv

4. Luo ja aktivoi virtuaaliympäristö:

virtualenv myfirstdjangoenv

Yllä oleva komento luo joukon tiedostoja ja alihakemistoja hakemistoon ~/myfirstdjangoenv ja periaatteessa asentaa paikallisen kopion Pythonista ja pip:stä nykyiseen työhakemistoon. . Seuraavaksi meidän on aktivoitava juuri luomamme virtuaalinen ympäristö:

source myfirstdjangoenv/bin/activate

5. Huomaa, kuinka komentokehote muuttuu viimeisen komennon jälkeen. Nyt on aika asentaa Django:

Huomaa, että alla oleva kuvakaappaus on otettu tämän opetusohjelman aiemman version aikana, mutta odotettu tulos on sama asennettaessa Django 1.8.13 ):


pip install Django==1.8.13

Voit tarkistaa Django-version käynnistämällä Python-kuoren nykyisestä työhakemistostasi:

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

(Jälleen yllä olevan komennon pitäisi palauttaa 1.8.13, kun tarkistetaan nykyinen Django-versio).

Poistu Python-kehotteesta kirjoittamalla:

>>> exit() 

ja paina Enter. Sammuta seuraavaksi virtuaaliympäristö:

deactivate

Huomaa, että vaikka virtuaaliympäristö pysyy pois käytöstä, Django ei ole käytettävissä:

Kuinka luoda ensimmäinen projekti Djangossa

Jos haluat luoda projektin aiemmin luomassamme virtuaaliympäristössä, se on aktivoitava:

source myfirstdjangoenv/bin/activate

Seuraavaksi kehys luo koko hakemistorakenteen projektisi tallentamista varten. Tätä varten sinun täytyy juosta.

django-admin startproject myfirstdjangoproject

Yllä oleva komento luo nykyiseen työhakemistoosi hakemiston nimeltä myfirstdjangoproject.

josta löydät tiedoston nimeltä manage.py (apuohjelma, joka auttaa sinua hallitsemaan projektiasi myöhemmin) ja toisen alihakemiston (~/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject). Tämä viimeinen alihakemisto toimii projektitiedostojen säilönä.

Vaikka loput tiedostot ovat todella järkeviä sen jälkeen, kun olemme tarkistaneet Python-ohjelman todellisen verkkosovelluksen kirjoittamisen aloittamiseksi, kannattaa ja kannattaa ottaa huomioon tärkeimmät tiedostot, jotka löytyvät projektikonttihakemistosta:

  1. myfirstdjangoproject/__init__.py: Tämä tyhjä tiedosto kertoo Pythonille, että tätä hakemistoa on pidettävä Python-paketina.
  2. myfirstdjangoproject/settings.py: Tämän Django-projektin erityisasetukset.
  3. myfirstdjangoproject/urls.py: Django-pohjaisen sivustosi sisällysluettelo.
  4. myfirstdjangoproject/wsgi.py: WSGI-yhteensopivien verkkopalvelimien sisääntulopiste projektisi palvelemiseen.
ls 
ls -l myfirstdjangoproject
ls -l myfirstdjangoproject/myfirstdjangoproject

Lisäksi Djangossa on kevyt sisäänrakennettu verkkopalvelin (kirjoitettu Pythonilla, joka on samanlainen kuin Python SimpleHTTP, mitä muuta?), jota voidaan käyttää sovellusten testaamiseen kehityksen aikana. ilman verkkopalvelimen asettamista tässä vaiheessa.

Sinun on kuitenkin tiedettävä, että tämä ei sovellu tuotantoympäristöön - vain kehittämiseen. Aloita äskettäin luomasi projekti muuttamalla nykyinen työhakemistosi projektisi säilöhakemistoksi (~/myfirstdjangoenv/myfirstdjangoproject) ja suorita:

python manage.py runserver 0.0.0.0:8000

Jos kohtaat seuraavan virheen:

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

Tee mitä se sanoo:

python manage.py migrate

ja käynnistä sitten palvelin uudelleen:

python manage.py runserver 0.0.0.0:8000

Käsittelemme migraatioiden käsitettä tämän sarjan seuraavissa artikkeleissa, joten voit jättää virheilmoituksen toistaiseksi huomioimatta.

Joka tapauksessa voit muuttaa oletusporttia, jossa sisäänrakennettu verkkopalvelin kuuntelee. Käyttämällä 0.0.0.0-verkkoliitäntää kuunteluun, sallimme muiden samassa verkossa olevien tietokoneiden käyttää projektin käyttöliittymää (jos käytät sen sijaan 127.0.0.1-osoitetta, voit käyttää käyttöliittymää vain localhostista).

Voit myös vaihtaa portin toiseen haluamaasi, mutta sinun on myös varmistettava, että liikenne tällaisen portin kautta sallitaan palomuurisi kautta:

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

Tietenkin on sanomattakin selvää, että sinun on päivitettävä sallittu portti, jos päätät käyttää toista, kun käynnistät kevyen verkkopalvelimen.

Sinun pitäisi nähdä seuraava tulos terminaalissasi:

python manage.py runserver 0.0.0.0:8000

Tässä vaiheessa voit avata suosikkiverkkoselaimesi ja navigoida sen koneen IP-osoitteeseen, johon asensit Djangon, ja sen jälkeen portin numeron. Minun tapauksessani se on Debian Jessie -boksi, jonka IP-osoite on 192.168.0.25 ja joka kuuntelee porttia 8000:

http://192.168.0.25:8000

Vaikka on hienoa, että saimme projektin alkuasennukset valmiiksi, työtä on vielä paljon jäljellä, kuten yllä olevasta viestistä käy ilmi.

Yhteenveto

Tässä oppaassa olemme selostaneet, kuinka voit asentaa ja määrittää virtuaalisen ympäristön Djangolle, joka on Python-pohjainen monipuolinen avoimen lähdekoodin verkkokehys.

Riippumatta siitä, oletko sovelluskehittäjä vai järjestelmänvalvoja, haluat lisätä tämän artikkelin ja muun tämän artikkelin kirjanmerkkeihin, koska on mahdollista, että jossain vaiheessa sinun on harkittava tällaisen työkalun tarvetta päivittäisiin tehtäviisi.

Seuraavissa tämän sarjan artikkeleissa keskustelemme siitä, miten voimme hyödyntää sitä, mitä olemme jo saavuttaneet, luodaksemme yksinkertaisen, mutta toimivan verkkosovelluksen käyttämällä Djangoa ja Pythonia.

Kuten aina, älä epäröi lähettää meille huomautusta, jos sinulla on kysyttävää tästä artikkelista tai parannusehdotuksia. Me odotamme yhteydenottoasi!