Django je pokročilý webový framework, který umožňuje rychlý vývoj bezpečných a snadno udržovatelných webových stránek. Je to bezplatný framework s otevřeným zdrojovým kódem napsaný v jazyce Python. Django je také populární pro další vlastnosti, jako je výkon, bezpečnost, škálovatelnost, přenositelnost a udržovatelnost.
Tento návod vám ukáže, jak nainstalovat Django a nastavit jednoduchou webovou aplikaci na Ubuntu 20.04.
Django na Ubuntu
Existuje několik způsobů, jak nainstalovat Django do systému. Každá metoda vyhovuje jinému cíli.
- Globální instalace: Django je snadno dostupné z oficiálních repozitářů balíčků Ubuntu. Můžeme ho nainstalovat přímo pomocí správce balíčků APT. I když je tato metoda instalace jednoduchá, nabízí méně flexibility než jiné metody. Navíc nemusí obsahovat nejnovější verzi frameworku.
- Instalace pomocí
pipve virtuálním prostředí: Pomocí nástrojů jakovenvavirtualenv, můžeme vytvořit virtuální prostředí a nainstalovat Django tam. Výhodou tohoto přístupu je, že neovlivňuje zbytek systému. Umožňuje také přizpůsobení a balíčky pro jednotlivé projekty. Je to nejpraktičtější a nejdoporučovanější způsob práce s Django. - Instalace vývojové verze Django: Django je k dispozici také na GitHub. Nejnovější vývojová verze bude mít nejnovější funkce/opravy. To je však vykoupeno potenciálními problémy s výkonem a stabilitou.
Tento návod předpokládá, že máte správně nakonfigurovaný server Ubuntu. Pokud ještě nemáte server Ubuntu, můžete postupovat podle našeho návodu na jak nastavit vlastní server Ubuntu.
Instalace Django na Ubuntu
1. Globální instalace pomocí správce balíčků
Django je snadno dostupné z oficiálních repozitářů balíčků. Proces instalace je poměrně přímočarý. Nejprve aktualizujte index balíčků APT:
|
1 |
$ sudo apt update |
Dále zkontrolujte nainstalovanou verzi Pythonu. Ve výchozím nastavení je Ubuntu 20.04 dodáváno s Pythonem 3.8:
|
1 |
$ python3 -V |
Nyní jsme připraveni nainstalovat Django:
|
1 |
$ sudo apt install python3-django |
Můžeme ověřit, zda byla instalace úspěšná. Spuštěním následujícího příkazu zkontrolujte verzi Django:
|
1 |
$ django-admin --version |
Tím se ověří, že je Django úspěšně nainstalováno. Upozorňujeme, že tato verze Django není nejnovější stabilní verzí. V době psaní tohoto článku je nejnovější dostupná verze Django v3.2.5 (LTS verze).
2. Instalace Django pomocí pip (ve virtuálním prostředí)
Toto je doporučený způsob instalace Django, protože má největší flexibilitu. Virtuální prostředí vygenerujeme pomocí modulu venv, který je součástí standardní knihovny Pythonu 3. Umožňuje vám vytvářet virtuální prostředí Pythonu a instalovat balíčky Pythonu bez toho, aby docházelo ke změnám jinde v systému. Můžete mít celou řadu virtuálních prostředí s jedinečnými konfiguracemi.
Pojďme začít. Nejprve potřebujeme moduly Pythonu pip a venv:
|
1 2 |
$ sudo apt update $ sudo apt install python3-pip python3-venv |
Moduly jsou úspěšně nainstalovány. Nyní vytvoříme vyhrazený adresář pro virtuální prostředí:
|
1 |
$ mkdir -pv ~/sample_project |
Dále změňte aktivní adresář na nový adresář:
|
1 |
$ cd ~/sample_project |
Nyní můžeme říct modulu venv, aby v tomto adresáři vytvořil virtuální prostředí. Pokud jde o název prostředí, měl by být popisný:
|
1 |
$ python3 -m venv sample_project_env |
Modul venv vytvoří kopii Pythonu a pip do izolované adresářové struktury v adresáři projektu. Bude obsahovat adresář se zvoleným názvem, který obsahuje souborovou hierarchii, kde jsou nainstalovány všechny balíčky.
Chcete-li nainstalovat další balíčky, musíme prostředí aktivovat:
|
1 |
$ source sample_project_env/bin/activate |
Výzva shellu by se měla změnit na něco takového:
Ve virtuálním prostředí nyní můžeme nainstalovat Django:
|
1 |
$ pip install django |
Ověřte, zda byla instalace úspěšná:
|
1 |
$ django-admin --version |
Pro opuštění virtuálního prostředí spusťte následující příkaz:
|
1 |
$ deactivate |
3. Instalace vývojové verze Django
Vývojová verze Django je přímo dostupná na GitHub. Budeme používat git ke klonování a nasazení ve virtuálním prostředí.
Nejprve se ujistěte, že máme nainstalované potřebné nástroje. Následující příkaz nainstaluje venv a pip (moduly Pythonu) a git:
|
1 |
$ sudo apt update && sudo apt install python3-pip python3-venv git |
Dále naklonujte repozitář Django. Bude obsahovat všechny nejnovější funkce a opravy chyb (na úkor stability). Naklonujeme jej do adresáře ~/django-dev:
|
1 |
$ git clone git://github.com/django/django ~/django-dev |
Změňte aktuální adresář na naklonovaný repozitář:
|
1 |
$ cd ~/django-dev |
Poté vytvořte virtuální prostředí pomocí Python venv modulu:
|
1 |
$ python3 -m venv sample_project_env |
Poté aktivujte virtuální prostředí:
|
1 |
$ source sample_project_env/bin/activate |
Nyní můžeme nainstalovat Django, které jsme naklonovali z GitHubu. Zde příznak -e odkazuje na „upravitelný“ (editable) režim, který umožňuje instalaci ze systému správy verzí:
|
1 |
$ pip install -e ~/django-dev |
Nakonec ověřte instalaci:
|
1 |
$ django-admin --version |
Ukázkový projekt Django
Dosud jsme si ukázali, jak nainstalovat Django do systému. Nyní je čas uvést Django do praxe. V této části si ukážeme, jak vytvořit ukázkový projekt Django. Ukázkový projekt bude vytvořen ve virtuálním prostředí.
Vytvořte adresář pro ukázkový projekt:
|
1 |
$ mkdir -pv ~/django-test |
Změňte aktuální adresář na adresář projektu:
|
1 |
$ cd ~/django-test |
Poté použijte venv modul k vytvoření virtuálního prostředí Pythonu:
|
1 |
$ python3 -m venv dummy_env |
Virtuální prostředí je připraveno. Aktivujte prostředí:
|
1 |
$ source dummy_env/bin/activate |
V prostředí můžeme nainstalovat Django:
|
1 |
$ pip install django |
Můžeme použít django-admin k vytvoření základu projektu. Zde se bude ukázkový projekt jmenovat sampleproject. Projekt bude mít v adresáři prostředí vlastní adresář, který bude obsahovat všechny potřebné soubory.
manage.py: Správcovský skript, který spravuje různé úkoly specifické pro Django.ukázkový projekt: Adresář s názvem projektu, který obsahuje samotný kód projektu.
Nechceme však pavučinu příliš mnoha vnořených adresářů. Proto řekněte Djangu, aby soubory a adresáře umístilo do aktuálního adresáře:
|
1 |
$ django-admin startproject sampleproject . |
Dalším krokem je migrace databáze. Ve výchozím nastavení Django používá SQLite. Migrace aplikují jakékoli změny provedené v modelech Django na schéma databáze. Pro migraci databáze spusťte následující příkaz:
|
1 |
$ python manage.py migrate |
Nakonec vytvoříme administrátorského uživatele pro použití administrátorského rozhraní Django. Spusťte následující příkaz:
|
1 |
$ python manage.py createsuperuser |
Požádá o uživatelské jméno, e-mailovou adresu a heslo pro uživatele.
ALLOWED_HOSTS v nastavení Django
Chcete-li aplikaci otestovat, musíme upravit určitou direktivu v nastavení Django. Otevřete soubor settings.py v textovém editoru:
|
1 |
$ nano ~/django-test/sampleproject/settings.py |
Zajímá nás direktiva ALLOWED_HOSTS. Popisuje seznam adres nebo doménových jmen, které se mohou připojit k instanci Django. Jakýkoli příchozí požadavek od hostitele, který není na seznamu, vyvolá výjimku. Django to vyžaduje, aby se zabránilo určitým třídám bezpečnostních zranitelností.
V hranatých závorkách uveďte IP adresy nebo doménové názvy spojené se serverem Django. Každá položka bude uvedena v uvozovkách a oddělena čárkou (,). Struktura této direktivy by vypadala takto:
|
1 |
$ ALLOWED_HOSTS = ['<server_ip_or_domain>', '<server2_ip_or_doman>'] |
Uložte seznam a zavřete editor.
Testování serveru
Nyní můžeme spustit server pro nasazení Django. Zobrazí nový projekt Django. Upozorňujeme, že by měl být používán pouze pro vývojové účely. Pro plnohodnotné nasazení postupujte podle oficiální příručky Django pro nasazení.
Před přístupem k vývojovému serveru se ujistěte, že firewall umožňuje přístup k portu 8000. Pokud postupujete podle nastavení serveru Ubuntu průvodce, pak řekněte UFW, aby otevřel port 8000 pro komunikaci:
|
1 |
$ sudo ufw allow 8000 |
UFW je běžný firewall dostupný ve všech hlavních distribucích Linuxu. Zde je průvodce vysvětlující různé základy UFW. Vývojový server je nyní připraven ke spuštění. Spusťte server:
|
1 |
$ python manage.py runserver <server_ip>:8000 |
Dále navštivte IP adresu serveru na portu 8000 ve webovém prohlížeči. Dostanete se na uvítací stránku Django:
|
1 |
$ http://<server_ip>:8000 |
Pro přístup do administračního panelu Django přidejte /admin/ na konec URL:
|
1 |
$ http://<server_ip>:8000/admin/ |
Pro přístup do sekce administrace zadejte uživatelské jméno a heslo administrátora:
Server můžete zastavit stisknutím CTRL-C v terminálu.
Závěrečné myšlenky
Projekt Django nabízí strukturální základ pro návrh kompletnějšího webu. Poskytuje hlavní nástroje potřebné k provozu webové aplikace. Využití webového frameworku, jako je Django, vám umožní rychlejší vývoj projektu a věnovat více času jedinečným aspektům vaší aplikace.
Příjemnou práci s počítačem!












Komentáře
Zatím žádné komentáře. Buďte první.