Zpět na blog

Vytvoření Django aplikace s připojením k databázi: Návod

Vytvoření Django aplikace s připojením k databázi: Návod

Django je bezplatný a open-source webový framework vytvořený v jazyce Python. Django, poprvé vydané v roce 2005, se řídí mottem „rychlý vývoj a čistý, pragmatický design“. Tento framework nasazený na webovém serveru dokáže rychle vytvořit webové rozhraní s bohatými funkcemi, zabezpečením a škálovatelností.

Každá webová aplikace spoléhá při ukládání svého obsahu na databáze. Django jako moderní framework podporuje řadu standardních databázových programů, například PostgreSQL, SQLite, MySQL, atd. Tento návod ukáže, jak připojit aplikaci Django k databázi MySQL.

Požadavky

Chcete-li postupovat podle tohoto návodu, musíte před přechodem k připojení Djanga a databáze splnit určité podmínky:

Instalace a konfigurace Pythonu 3

Django je napsáno v Pythonu. Spuštění jakékoli aplikace v Pythonu vyžaduje instalaci binárních souborů Pythonu v systému. Ubuntu se dodává s předinstalovaným Pythonem. Zde budeme používat Python 3. V terminálu spusťte následující příkazy. Nejprve aktualizujte mezipaměť APT a upgradujte (pokud jsou k dispozici) všechny nainstalované balíčky:

Python 3 je přímo dostupný z oficiálních serverů s balíčky pro Ubuntu. Balíček python-is-python3  vytvoří symbolický odkaz python na binární soubor python3 pro snazší použití:

Dále ověřte, zda byla instalace úspěšná:

Poté budeme potřebovat pip. Je to standardní správce balíčků pro Python. Má na starosti správu dalších knihoven Pythonu, které nejsou součástí standardní knihovny. Všimněte si, že instalujeme pip3 (pro Python 3):

Nakonec potřebujeme několik dalších balíčků pro robustní programovací prostředí:

Instalace a konfigurace MySQL

Tato část stručně ukáže instalaci a konfiguraci MySQL. Je k dispozici ve výchozích repozitářích balíčků Ubuntu:

Pokud byla instalace úspěšná, MySQL se spustí na pozadí. Ověřte, zda funguje správně:

Django App 1

Server MySQL běží. Nyní můžeme bezpečně přejít k vývoji naší aplikace v Djangu.

Práce s Django

  • Vytvoření ukázkové aplikace Django

Základ naší webové aplikace vyžaduje kostru projektu Django. Obsahuje všechny potřebné nástroje a knihovny potřebné k vytvoření robustní webové aplikace. Nejprve vytvoříme vyhrazený adresář pro naši aplikaci Django. Doporučuje se pojmenovat adresář nějak smysluplně a v souladu s aplikací, kterou se chystáme vytvořit. V této ukázce jej pojmenujeme myDemoApp:

Potřebujeme modul Pythonu venv pro vytvoření virtuálního prostředí v tomto adresáři. Nainstalujte modul pomocí APT:

Poté přejděte do adresáře a vytvořte virtuální prostředí. Pro přehlednost jsme prostředí pojmenovali demoapp_env:

Dále aktivujte virtuální prostředí spuštěním skriptu activate skriptu:

Django App 2

Nyní nainstalujeme Django do tohoto vyhrazeného virtuálního prostředí. Pip stáhne a nainstaluje některé další součásti:

Django je nainstalováno a připraveno k použití. Voláním příkazu django-admin vytvořte nový projekt Django. Poté dejte aplikaci vhodný název:

Vytvoří demo projekt s potřebnými projektovými soubory a adresáři:

Django App 3

Kostra projektu je připravena. Dále ji musíme správně nakonfigurovat, abychom dosáhli našeho cíle.

  • Úprava nastavení projektu Django

Všechny konfigurace projektu jsou uloženy v souboru settings.py. Nachází se v adresáři projektu Django. Začneme nastavením správného časového pásma a seznamu hostitelů, kteří se mohou k aplikaci Django připojit. Otevřete konfigurační soubor v textovém editoru:

Sjeďte v kódu dolů a najděte položku TIME_ZONE. Pro účely demonstrace je časové pásmo nastaveno na America/New_York:

TIME_ZONE

Pro informaci, následující příkaz vypíše všechna podporovaná časová pásma v Linuxu:

Dále sjeďte k položce ALLOWED_HOSTS. Ta určuje, které stroje mohou k aplikaci přistupovat. Pro účely demonstrace obsahuje pouze localhost:

Django App 4Poté soubor uložte a zavřete editor. Následující příkaz provede změny:

python manageNyní musíme pro webovou aplikaci vytvořit účet administrátora. Tento účet bude sloužit k přístupu do administrátorského rozhraní Django. Spusťte následující příkaz:

Django App 5Budete požádáni o uživatelské jméno, e-mail a heslo. Aplikace je nyní připravena k připojení k databázi.

Připojení k MySQL

  • Instalace konektorů MySQL a vývojových knihoven

Pro integraci MySQL do aplikace Django potřebujeme některé další knihovny pro Python 3, které poskytnou potřebné nástroje. Budeme používat databázový konektor mysqlclient. Jedná se o fork projektu MySQLdb.

Ujistěte se, že máte nainstalovaný python3-dev:

Potřebujeme také některé další hlavičkové soubory a knihovny pro Python a MySQL:

Po dokončení instalace použijte pip k instalaci modulu Pythonu mysqlclient. Může to vygenerovat nějaké chybové zprávy, které lze ignorovat:

  • Konfigurace vyhrazené databáze

Dalším krokem je konfigurace vyhrazené databáze a databázového uživatele pro naši aplikaci Django. Spusťte konzoli MySQL jako uživatel root:

Chcete-li zkontrolovat všechny aktuálně dostupné databáze, spusťte následující dotaz:

Vytvořme vyhrazenou databázi pro naši aplikaci Django. Pojmenujte ji vhodně v souladu s názvem projektu:

Poté ověřte vytvoření:

Django App 6Nyní vytvořte vyhrazeného uživatele MySQL. Tohoto uživatele nakonfigurujeme jako vlastníka databáze. Aplikace Django bude používat přihlašovací údaje tohoto uživatele pro práci s databází MySQL:

Udělte uživateli demoapp_user plná oprávnění k databázi demoapp_data:

Aby se změny oprávnění projevily, znovu načtěte tabulky oprávnění MySQL:

Django App 7Databáze je nyní připravena k připojení k aplikaci Django.

  • Připojení databáze k aplikaci Django

Nakonec nakonfigurujeme aplikaci Django tak, aby pro ukládání dat používala databázi. Otevřete konfigurační skript settings.py:

Sjeďte dolů k položce DATABASES a zadejte následující kód:

Django App 8Uložte soubor a zavřete editor. Dalším krokem je nastavení konfiguračního souboru popsaného v předchozím kódu. Použijte sudo k otevření textového souboru v popsaném umístění:

Tento konfigurační soubor bude obsahovat informace o databázi vyhrazené pro Django a o uživateli, kterého jsme vytvořili v MySQL serveru. Na konec souboru přidejte následující řádky:

default-character-setAby se změny projevily, musíme restartovat MySQL server:

  • Testování připojení k MySQL

Nyní je čas ověřit, zda připojení k MySQL funguje správně. Pokud server Django běží bez problémů, pak připojení funguje v pořádku. V opačném případě je něco špatně. Nejprve aplikujte všechny změny provedené v projektu Django:

python manageNyní přejděte do následujícího adresáře projektu a spusťte server Django:

python manage.py runserverDále se pokuste k serveru přistoupit z webového prohlížeče:

server_ip_address

A je to! Úspěšně jsme se dostali na úvodní stránku Django. To také potvrzuje, že připojení k MySQL funguje správně. Po dokončení úkolu můžete bezpečně ukončit virtuální prostředí:

Závěrečné myšlenky

V tomto návodu jste se naučili základy propojení Django a MySQL. Vytvořili jsme aplikaci v Django a ukázali si, jak ji připojit k databázi MySQL. Kouzlo spočívá v konfiguračním souboru Django settings.py. Upravili jsme také některá základní nastavení jako ALLOWED_HOSTS a TIME_ZONE. Django je neuvěřitelně flexibilní. Kromě MySQL podporuje také další SQL servery jako PostgreSQL, serverové enginy jako Nginx atd.

Můžete se také podívat na naše návody na osvědčené postupy pro instalaci, konfiguraci a práci s Django:

Ať se daří!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreativní designér ve společnosti CloudSigma, který se zaměřuje na konzistentní firemní identitu prostřednictvím tradičních i inovativních marketingových kanálů. Je zdatný v propojování umělecké vize se strategickým marketingem za účelem vytváření působivých příběhů značky.

Komentáře

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