Zpět na blog

Použití PostgreSQL s Django na Ubuntu 21.04 Server

Použití PostgreSQL s Django na Ubuntu 21.04 Server

Django je známý webový framework, který zjednodušuje proces vytváření robustních, škálovatelných, bezpečných a vysoce výkonných webových aplikací. Je to open-source projekt napsaný v jazyce Python. Můžete se podívat na podrobnější informace o Django zde.

Každá webová aplikace vyžaduje databázi jako backend pro správu dat. Django podporuje různé databázové stroje jako backend, například MySQL, PostgreSQL, SQLite atd. PostgreSQL je výkonný, open-source objektově-relační databázový systém. Je známý svou spolehlivostí, škálovatelností, bezpečností a robustní sadou funkcí. Můžete se dozvědět více o PostgreSQL zde.

V této příručce ukážeme integraci PostgreSQL jako backendu na ukázkové aplikaci Django.

Požadavky

Práce s Django vyžaduje určité systémové konfigurace.

Tato příručka také ukáže, jak používat různé moduly a knihovny Pythonu, které jsou nezbytné pro funkční aplikaci Django.

Krok 1. Instalace potřebných komponent

Aby náš projekt fungoval, potřebujeme mít v našem systému Ubuntu nainstalovanou řadu důležitých balíčků. Naštěstí jsou všechny přímo dostupné z oficiálních repozitářů balíčků Ubuntu. Tyto balíčky zahrnují komponenty Pythonu a databázové komponenty (PostgreSQL).

Nejprve spusťte terminál a aktualizujte mezipaměť balíčků APT:

Using PostgreSQL with Django 1

Dále nainstalujte balíčky:

Using PostgreSQL with Django 2

Krok 2. Příprava databáze

PostgreSQL je nyní nainstalován a připraven k použití. Dále vytvoříme vyhrazenou databázi a uživatele pro naši aplikaci Django. Mít vyhrazeného uživatele je výhodné pro správu databáze a oprávnění.

Během instalace PostgreSQL vytvoří vyhrazeného uživatele postgres. Ten má oprávnění provádět jakékoli administrativní úkoly v PostgreSQL. Přistupte k postgres účtu:

Měli byste se ocitnout v nové relaci shellu pod uživatelem postgres. Poté otevřete shell PostgreSQL:

Nyní vytvoříme vyhrazenou databázi pro naši aplikaci Django. Doporučuje se pojmenovat ji shodně s aplikací Django:

Dále vytvoříme vyhrazeného databázového uživatele. Tohoto uživatele budeme používat k přístupu k databázi vyhrazené pro Django:

Dalším krokem je úprava několika parametrů připojení pro nového uživatele. To pomáhá urychlit databázové operace, protože nebude nutné dotazovat se na hodnoty při každém navázání připojení. Spusťte následující příkazy:

Pojďme si tyto příkazy stručně rozebrat:

  • Nastavujeme výchozí kódování na UTF-8. To je to, co Django očekává při interakci s databázemi.

  • Výchozí schéma transakcí je nastaveno na „read committed“, takže čtení z nepotvrzených transakcí je blokováno.

  • Časové pásmo by mělo být nastaveno podle umístění.

Pokud si nejste jisti názvem časového pásma, následující příkaz vypíše všechna časová pásma podporovaná PostgreSQL:

Using PostgreSQL with Django 4

Nakonec udělte novému uživateli plná oprávnění k databázi vyhrazené pro Django:

Naše práce s PostgreSQL je nyní hotová. Ukončete psql shell a odhlaste se z postgres relace.

Krok 3. Instalace Django

Nakonfigurovali jsme potřebný databázový server pro naši aplikaci Django. Nyní nainstalujeme a nakonfigurujeme vyhrazenou aplikaci Django. Přestože je Django přímo k dispozici v oficiálním repozitáři Ubuntu, tento způsob nedoporučujeme. Nainstaloval by Django pro celý systém. Pro lepší flexibilitu a snadnější správu raději nainstalujeme Django ve virtuálním prostředí. Instalace a konfigurace Django ve virtuálním prostředí Pythonu je standardním postupem.

Python má modul virtualenv který vytváří virtuální prostředí Pythonu v cílovém umístění. Prostředí získá vlastní kopii binárních souborů a konfigurací Pythonu. Provádění změn ve virtuálním prostředí nebude mít žádný vliv na zbytek systému.

Nainstalujte virtualenv:

Using PostgreSQL with Django 5

Dále je naším cílem mít vyhrazený adresář pro vytvoření virtuálního prostředí Pythonu. Bude sloužit jako základ pro naši aplikaci Django. Pro účely ukázky bude název naší aplikace sample_app. Vytvořte nový adresář:

Změňte aktuální aktivní adresář a vytvořte virtuální prostředí:

Poté virtuální prostředí aktivujte:

Virtuální prostředí je nyní připravené a funkční. Poté použijeme pip k instalaci Django a psycopg2 (adaptér Pythonu pro PostgreSQL):

Using PostgreSQL with Django 6

Nakonec můžeme pomocí nástrojů Django vytvořit nový projekt Django. V aktuálním adresáři se vygeneruje podadresář stejného názvu, který bude obsahovat veškerý kód a spravovací skript:

Krok 4. Konfigurace projektu Django

Projekt Django má všechny základní nástroje pro fungování jako webová aplikace. Abychom jej integrovali s naší databází, budeme muset provést několik úprav v jeho konfiguračních souborech.

Otevřete soubor settings.py v textovém editoru:

Přejděte dolů k sekci DATABASES. Ve výchozím nastavení je nakonfigurována pro použití SQLite:

Pro naše účely změňte kód následovně:

Zde říkáme Django, aby pro komunikaci s databází použil adaptér psycopg2. Deklarujeme také všechny potřebné informace o databázi, jako je název databáze spolu s uživatelským jménem a heslem vyhrazeného uživatele.

Po dokončení soubor uložte a zavřete editor.

Krok 5. Migrace databáze

Django je nakonfigurován pro přístup k naší databázi PostgreSQL. Nyní můžeme migrovat datovou strukturu do naší databáze. V Django se tomu říká migrace.

Chcete-li migrovat změny v databázi, vyvolejte spravovací skript manage.py:


Using PostgreSQL with Django 7

Dále vytvořte superuživatele pro naši aplikaci Django:

Using PostgreSQL with Django 8

Tento účet superuživatele bude sloužit jako administrátorský účet pro naši aplikaci Django.

Krok 6. Testování změn

Dosud jsme v naší aplikaci Django provedli několik úprav. Je čas zkontrolovat, zda vše funguje tak, jak má. Ověříme to spuštěním aplikace a přístupem do administračního panelu.

Protože aplikaci Django vyvíjíme lokálně, spustíme server na localhost. Podle tradice jej spustíme na portu 8000. Pokud máte nakonfigurovaný firewall, musí povolit provoz na portu 8000. Zjistěte více o základech UFW zde.

Spusťte server Django:

Otevřete URL v prohlížeči:

Using PostgreSQL with Django 9

Měli byste se dostat na stránku o úspěšné instalaci Django. Pro přístup do administračního panelu Django přejděte na následující URL:

Using PostgreSQL with Django 10

K přihlášení musíte použít superuživatele, kterého jsme vytvořili:

Voila! Úspěšně jsme se dostali do administračního panelu!

Jakmile dokončíte prohlížení, stiskněte Ctrl + C v konzoli pro zastavení serveru Django.

Závěrečné myšlenky

V tomto návodu jsme úspěšně předvedli vytvoření ukázkové aplikace Django a konfiguraci PostgreSQL jako jejího backendu. Zatímco SQLite obecně více než stačí pro potřeby během vývoje (a lehké produkční použití), většina projektů výrazně získá přechodem na plnohodnotnější DBMS. PostgreSQL je skvělou volbou pro výkon a škálovatelnost.

Django je všestranný webový framework, který dokáže spolupracovat s mnoha technologiemi. Podívejte se na další cloudové návody, které demonstrují použití Django:

Ať se daří!

author

Preslav Dobrev

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í.