Django je webový framework na vysokej úrovni, ktorý umožňuje rýchly vývoj bezpečných a udržiavateľných webových stránok. Je to bezplatný framework s otvoreným zdrojovým kódom napísaný v jazyku Python. Django je tiež populárny pre ďalšie vlastnosti, ako sú výkon, bezpečnosť, škálovateľnosť, prenosnosť a udržiavateľnosť.
Tento návod vám ukáže, ako nainštalovať Django a nastaviť jednoduchú webovú aplikáciu na Ubuntu 20.04.
Django na Ubuntu
Existuje viacero spôsobov inštalácie Django v systéme. Každá metóda vyhovuje inému cieľu.
- Globálna inštalácia: Django je ľahko dostupný z oficiálnych repozitárov balíkov Ubuntu. Môžeme ho nainštalovať priamo pomocou správcu balíkov APT. Hoci je táto metóda inštalácie jednoduchá, ponúka menej flexibility ako iné metódy. Navyše nemusí obsahovať najnovšiu verziu frameworku.
- Inštalácia pomocou
pipvo virtuálnom prostredí: Pomocou nástrojov akovenvavirtualenv, môžeme vytvoriť virtuálne prostredie a nainštalovať Django tam. Výhodou tohto prístupu je, že neovplyvňuje širší systém. Umožňuje tiež prispôsobenie a balíky pre konkrétny projekt. Je to najpraktickejší a najodporúčanejší spôsob práce s Django. - Inštalácia vývojovej verzie Django: Django je dostupný aj na GitHub. Najnovšia vývojová verzia bude mať najnovšie funkcie/opravy. To je však vyvážené potenciálnymi problémami s výkonom a stabilitou.
Tento návod predpokladá, že máte správne nakonfigurovaný server Ubuntu. Ak ešte nemáte server Ubuntu, môžete postupovať podľa nášho návodu na ako nastaviť vlastný server Ubuntu.
Inštalácia Django na Ubuntu
1. Globálna inštalácia pomocou správcu balíkov
Django je ľahko dostupný z oficiálnych repozitárov balíkov. Proces inštalácie je pomerne jednoduchý. Najprv aktualizujte index balíkov APT:
|
1 |
$ sudo apt update |
Ďalej skontrolujte nainštalovanú verziu Pythonu. V predvolenom nastavení sa Ubuntu 20.04 dodáva s Pythonom 3.8:
|
1 |
$ python3 -V |
Teraz sme pripravení nainštalovať Django:
|
1 |
$ sudo apt install python3-django |
Môžeme overiť, či bola inštalácia úspešná. Spustením nasledujúceho príkazu skontrolujte verziu Django:
|
1 |
$ django-admin --version |
To potvrdzuje, že Django je úspešne nainštalovaný. Upozorňujeme, že verzia Django nie je najnovšou stabilnou verziou. V čase písania tohto článku je najnovšia dostupná verzia Django v3.2.5 (LTS release).
2. Inštalácia Django pomocou pip (vo virtuálnom prostredí)
Toto je odporúčaný spôsob inštalácie Django, pretože má najväčšiu flexibilitu. Virtuálne prostredie vygenerujeme pomocou modulu venv, ktorý sa dodáva ako súčasť štandardnej knižnice Python 3. Umožňuje vám vytvárať virtuálne prostredia Pythonu a inštalovať balíky Pythonu bez toho, aby to spôsobilo zmeny inde v systéme. Môžete mať množstvo virtuálnych prostredí s jedinečnými konfiguráciami.
Poďme na to. Najprv potrebujeme Python pip a venv moduly:
|
1 2 |
$ sudo apt update $ sudo apt install python3-pip python3-venv |
Moduly sú úspešne nainštalované. Teraz vytvoríme vyhradený adresár pre virtuálne prostredie:
|
1 |
$ mkdir -pv ~/sample_project |
Ďalej zmeňte aktívny adresár na nový adresár:
|
1 |
$ cd ~/sample_project |
Teraz môžeme povedať venv, aby vytvoril virtuálne prostredie v rámci tohto adresára. Pokiaľ ide o názov prostredia, mal by byť popisný:
|
1 |
$ python3 -m venv sample_project_env |
Modul venv vytvorí kópiu Pythonu a pip do izolovanej adresárovej štruktúry v rámci adresára projektu. Bude obsahovať adresár so zvoleným názvom, ktorý obsahuje hierarchiu súborov, kde sú nainštalované všetky balíky.
Ak chcete nainštalovať ďalšie balíky, musíme aktivovať prostredie:
|
1 |
$ source sample_project_env/bin/activate |
Výzva shellu by sa mala zmeniť na niečo takéto:
Vo virtuálnom prostredí teraz môžeme nainštalovať Django:
|
1 |
$ pip install django |
Overte, či bola inštalácia úspešná:
|
1 |
$ django-admin --version |
Ak chcete opustiť virtuálne prostredie, spustite nasledujúci príkaz:
|
1 |
$ deactivate |
3. Inštalácia vývojovej verzie Django
Vývojová verzia Django je priamo dostupná na GitHub. Na klonovanie a nasadenie vo virtuálnom prostredí použijeme git.
Najprv sa uistite, že máme nainštalované potrebné nástroje. Nasledujúci príkaz nainštaluje venv a pip (moduly Pythonu) a git:
|
1 |
$ sudo apt update && sudo apt install python3-pip python3-venv git |
Ďalej naklonujte repozitár Django. Bude obsahovať všetky najnovšie funkcie a opravy chýb (na úkor stability). Naklonujeme ho do adresára ~/django-dev:
|
1 |
$ git clone git://github.com/django/django ~/django-dev |
Zmeňte aktuálny adresár na naklonovaný repozitár:
|
1 |
$ cd ~/django-dev |
Potom vytvorte virtuálne prostredie pomocou Python modulu venv:
|
1 |
$ python3 -m venv sample_project_env |
Potom aktivujte virtuálne prostredie:
|
1 |
$ source sample_project_env/bin/activate |
Teraz môžeme nainštalovať Django, ktoré sme naklonovali z GitHubu. Príznak -e odkazuje na režim „editable“ (upravovateľný), ktorý umožňuje inštaláciu zo systému správy verzií:
|
1 |
$ pip install -e ~/django-dev |
Na záver overte inštaláciu:
|
1 |
$ django-admin --version |
Ukážkový projekt Django
Doteraz sme si ukázali, ako nainštalovať Django do systému. Teraz je čas uviesť Django do praxe. V tejto časti si ukážeme, ako vytvoriť ukážkový projekt Django. Ukážkový projekt bude vytvorený vo virtuálnom prostredí.
Vytvorte adresár pre ukážkový projekt:
|
1 |
$ mkdir -pv ~/django-test |
Zmeňte aktuálny adresár na adresár projektu:
|
1 |
$ cd ~/django-test |
Potom použite modul venv na vytvorenie virtuálneho prostredia Pythonu:
|
1 |
$ python3 -m venv dummy_env |
Virtuálne prostredie je pripravené. Aktivujte prostredie:
|
1 |
$ source dummy_env/bin/activate |
V prostredí môžeme nainštalovať Django:
|
1 |
$ pip install django |
Na vytvorenie základu projektu môžeme použiť django-admin . V tomto prípade sa ukážkový projekt bude volať sampleproject. Projekt bude mať v adresári prostredia vlastný adresár, ktorý bude obsahovať všetky potrebné súbory.
manage.py: Riadiaci skript, ktorý spravuje rôzne úlohy špecifické pre Django.ukážkový projekt: Adresár s názvom projektu, ktorý obsahuje samotný kód projektu.
Nechceme však mať spleť príliš veľkého množstva vnorených adresárov. Preto povieme Djangu, aby umiestnil súbory a adresáre do aktuálneho adresára:
|
1 |
$ django-admin startproject sampleproject . |
Ďalším krokom je migrácia databázy. Django predvolene používa SQLite. Migrácie aplikujú akékoľvek zmeny vykonané v modeloch Django na schému databázy. Spustením nasledujúceho príkazu zmigrujete databázu:
|
1 |
$ python manage.py migrate |
Na záver vytvoríme administrátorského používateľa na používanie administrátorského rozhrania Django. Spustite nasledujúci príkaz:
|
1 |
$ python manage.py createsuperuser |
Požiada o používateľské meno, e-mailovú adresu a heslo pre používateľa.
ALLOWED_HOSTS v nastaveniach Django
Na otestovanie aplikácie musíme upraviť určitú direktívu v nastaveniach Django. Otvorte súbor settings.py v textovom editore:
|
1 |
$ nano ~/django-test/sampleproject/settings.py |
Zaujíma nás direktíva ALLOWED_HOSTS. Definuje zoznam adries alebo doménových mien, ktoré sa môžu pripojiť k inštancii Django. Akákoľvek prichádzajúca požiadavka od hostiteľa, ktorý nie je v zozname, vyvolá výnimku. Django to vyžaduje, aby sa zabránilo určitým typom bezpečnostných zraniteľností.
V hranatej zátvorke uveďte IP adresy alebo názvy domén spojené so serverom Django. Každá položka bude uvedená v úvodzovkách, oddelená čiarkou (,). Takto by vyzerala štruktúra tejto direktívy:
|
1 |
$ ALLOWED_HOSTS = ['<server_ip_or_domain>', '<server2_ip_or_doman>'] |
Uložte zoznam a zatvorte editor.
Testovanie servera
Teraz môžeme spustiť server Django pre nasadenie. Zobrazí nový projekt Django. Upozorňujeme, že by sa mal používať iba na vývojové účely. Pre plnohodnotné nasadenie postupujte podľa oficiálneho sprievodcu Django pre nasadenie.
Pred prístupom k vývojovému serveru sa uistite, že firewall povoľuje prístup k portu 8000. Ak postupujete podľa nastavenia servera Ubuntu sprievodcu, potom povedzte UFW, aby otvoril port 8000 pre komunikáciu:
|
1 |
$ sudo ufw allow 8000 |
UFW je bežný firewall dostupný vo všetkých hlavných distribúciách Linuxu. Tu je sprievodca, ktorý vysvetľuje rôzne základy UFW. Vývojový server je teraz pripravený na spustenie. Spustite server:
|
1 |
$ python manage.py runserver <server_ip>:8000 |
Ďalej navštívte IP adresu servera na porte 8000 vo webovom prehliadači. Dostanete sa na uvítaciu stránku Django:
|
1 |
$ http://<server_ip>:8000 |
Pre prístup do administračného panelu Django pridajte /admin/ na koniec URL:
|
1 |
$ http://<server_ip>:8000/admin/ |
Zadajte používateľské meno a heslo administrátora pre prístup do sekcie administrácie:
Server môžete zastaviť stlačením CTRL-C v termináli.
Záverečné myšlienky
Projekt Django ponúka štrukturálny základ pre návrh kompletnejšieho webu. Poskytuje hlavné nástroje potrebné na prevádzku webovej aplikácie. Využitie webového frameworku, ako je Django, vám umožňuje rýchlejší vývoj projektu a venovanie viac času jedinečným aspektom vašej aplikácie.
Príjemnú prácu s počítačom!












Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.