Powrót do bloga

Używanie PostgreSQL z Django na Ubuntu 21.04 Server

Używanie PostgreSQL z Django na Ubuntu 21.04 Server

Django to znany framework webowy, który usprawnia proces tworzenia solidnych, skalowalnych, bezpiecznych i wydajnych aplikacji internetowych. Jest to projekt open-source napisany w języku Python. Możesz sprawdzić bardziej szczegółowe informacje o Django tutaj.

Każda aplikacja internetowa wymaga bazy danych jako backendu do zarządzania danymi. Django obsługuje różne silniki baz danych jako backend, na przykład MySQL, PostgreSQL, SQLite itp. PostgreSQL to potężny, otwartoźródłowy obiektowo-relacyjny system baz danych. Słynie ze swojej niezawodności, skalowalności, bezpieczeństwa i bogatego zestawu funkcji. Możesz dowiedzieć się więcej o PostgreSQL tutaj.

W tym poradniku zaprezentujemy integrację PostgreSQL jako backendu w przykładowej aplikacji Django.

Wymagania wstępne

Praca z Django wymaga określonej konfiguracji systemu.

Ten poradnik pokaże również, jak korzystać z różnych modułów i bibliotek Pythona, które są niezbędne do działania aplikacji Django.

Krok 1. Instalacja niezbędnych komponentów

Aby nasz projekt działał, musimy zainstalować kilka ważnych pakietów w naszym systemie Ubuntu. Na szczęście wszystkie są bezpośrednio dostępne w oficjalnych repozytoriach pakietów Ubuntu. Pakiety te obejmują komponenty Pythona oraz komponenty bazy danych (PostgreSQL).

Najpierw uruchom terminal i zaktualizuj pamięć podręczną pakietów APT:

Using PostgreSQL with Django 1

Następnie zainstaluj pakiety:

Using PostgreSQL with Django 2

Krok 2. Przygotowanie bazy danych

PostgreSQL jest teraz zainstalowany i gotowy do użycia. Następnie utworzymy dedykowaną bazę danych i użytkownika dla naszej aplikacji Django. Posiadanie dedykowanego użytkownika jest korzystne z punktu widzenia zarządzania bazą danych i uprawnieniami.

Podczas instalacji PostgreSQL tworzy dedykowanego użytkownika postgres. Posiada on uprawnienia do wykonywania wszelkich zadań administracyjnych w PostgreSQL. Uzyskaj dostęp do konta postgres :

Powinieneś znaleźć się w nowej sesji powłoki jako użytkownik postgres. Następnie otwórz powłokę PostgreSQL:

Teraz utworzymy dedykowaną bazę danych dla naszej aplikacji Django. Zaleca się nadanie jej nazwy pasującej do aplikacji Django:

Następnie utworzymy dedykowanego użytkownika bazy danych. Użyjemy tego użytkownika do uzyskania dostępu do bazy danych dedykowanej dla Django:

Kolejnym krokiem jest dostosowanie kilku parametrów połączenia dla nowego użytkownika. Pomaga to przyspieszyć operacje na bazie danych, ponieważ nie będzie wymagane odpytywanie o te wartości przy każdym nawiązywaniu połączenia. Uruchom następujące polecenia:

Przyjrzyjmy się krótko tym poleceniom:

  • Ustawiamy domyślne kodowanie na UTF-8. Tego właśnie oczekuje Django podczas interakcji z bazami danych.

  • Domyślny schemat transakcji jest ustawiony na „read committed” (odczyt zatwierdzony), dzięki czemu odczyty z niezatwierdzonych transakcji są blokowane.

  • Strefa czasowa powinna być ustawiona zgodnie z lokalizacją.

Jeśli nie masz pewności co do nazwy strefy czasowej, poniższe polecenie wyświetli listę wszystkich stref czasowych obsługiwanych przez PostgreSQL:

Using PostgreSQL with Django 4

Na koniec nadaj nowemu użytkownikowi pełne uprawnienia do bazy danych dedykowanej dla Django:

Nasza praca z PostgreSQL została zakończona. Wyjdź z powłoki psql i wyloguj się z sesji postgres .

Krok 3. Instalacja Django

Skonfigurowaliśmy niezbędny serwer bazy danych dla naszej aplikacji Django. Teraz zainstalujemy i skonfigurujemy dedykowaną aplikację Django. Chociaż Django jest bezpośrednio dostępne w oficjalnym repozytorium Ubuntu, nie zalecamy tej metody. Spowoduje to zainstalowanie Django w całym systemie. Aby zapewnić większą elastyczność i łatwość zarządzania, zainstalujemy Django w środowisku wirtualnym. Standardową praktyką jest instalowanie i konfigurowanie Django w wirtualnym środowisku Python.

Python posiada moduł virtualenv który tworzy wirtualne środowisko Python w docelowej lokalizacji. Środowisko otrzymuje własną kopię plików binarnych i konfiguracji Pythona. Wprowadzanie zmian w środowisku wirtualnym nie będzie miało wpływu na resztę systemu.

Zainstaluj virtualenv:

Using PostgreSQL with Django 5

Następnie naszym celem jest posiadanie dedykowanego katalogu do utworzenia wirtualnego środowiska Python. Posłuży on jako podstawa dla naszej aplikacji Django. Na potrzeby demonstracji nasza aplikacja będzie się nazywać sample_app. Utwórz nowy katalog:

Zmień bieżący katalog aktywny i utwórz środowisko wirtualne:

Następnie aktywuj środowisko wirtualne:

Środowisko wirtualne jest teraz gotowe i funkcjonalne. Następnie użyjemy pip do zainstalowania Django oraz psycopg2 (adaptera Pythona dla PostgreSQL):

Using PostgreSQL with Django 6

Na koniec możemy utworzyć nowy projekt Django za pomocą narzędzi Django. Wygeneruje on katalog podrzędny o tej samej nazwie, zawierający cały kod oraz skrypt zarządzający w bieżącym katalogu:

Krok 4. Konfiguracja projektu Django

Projekt Django posiada wszystkie podstawowe narzędzia do działania jako aplikacja internetowa. Aby zintegrować go z naszą bazą danych, będziemy musieli wprowadzić kilka poprawek w jego plikach konfiguracyjnych.

Otwórz plik settings.py w edytorze tekstu:

Przewiń w dół do sekcji DATABASES. Domyślnie jest ona skonfigurowana do używania SQLite:

Na nasze potrzeby zmień kod w następujący sposób:

Tutaj wskazujemy Django, aby używało adaptera psycopg2 do komunikacji z bazą danych. Deklarujemy również wszystkie niezbędne informacje o bazie danych, takie jak nazwa bazy danych wraz z nazwą użytkownika i hasłem dedykowanego użytkownika.

Po zakończeniu zapisz plik i zamknij edytor.

Krok 5. Migracja bazy danych

Django jest skonfigurowane do dostępu do naszej bazy danych PostgreSQL. Możemy teraz zmigrować strukturę danych do naszej bazy danych. W Django jest to znane jako migracja.

Aby zmigrować zmiany w bazie danych, wywołaj skrypt zarządzający manage.py:


Using PostgreSQL with Django 7

Następnie utwórz superużytkownika dla naszej aplikacji Django:

Using PostgreSQL with Django 8

To konto superużytkownika będzie działać jako konto administratora dla naszej aplikacji Django.

Krok 6. Testowanie zmian

Do tej pory wprowadziliśmy wiele poprawek w naszej aplikacji Django. Czas sprawdzić, czy wszystko działa zgodnie z oczekiwaniami. Zweryfikujemy to, uruchamiając aplikację i wchodząc do panelu administracyjnego.

Ponieważ rozwijamy aplikację Django lokalnie, uruchomimy serwer na localhost. Tradycyjnie uruchomimy go na porcie 8000. Jeśli masz skonfigurowaną zaporę sieciową, musi ona zezwalać na ruch do portu 8000. Dowiedz się więcej o podstawach UFW tutaj.

Uruchom serwer Django:

Otwórz adres URL w przeglądarce:

Using PostgreSQL with Django 9

Powinna wyświetlić się strona informująca o pomyślnej instalacji Django. Aby przejść do panelu administracyjnego Django, przejdź pod następujący adres URL:

Using PostgreSQL with Django 10

Aby się zalogować, musisz użyć utworzonego superużytkownika:

Voila! Pomyślnie trafiliśmy do panelu administracyjnego!

Po zakończeniu przeglądania naciśnij Ctrl + C w konsoli, aby zatrzymać serwer Django.

Podsumowanie

W tym poradniku pomyślnie zademonstrowaliśmy proces tworzenia przykładowej aplikacji Django i konfigurowania PostgreSQL jako jej bazy danych. Choć SQLite zazwyczaj w zupełności wystarcza do zaspokojenia potrzeb na etapie programowania (oraz przy niewielkim użyciu produkcyjnym), większość projektów odniesie ogromne korzyści z przejścia na bardziej funkcjonalny system zarządzania bazą danych (DBMS). PostgreSQL to świetna opcja pod kątem wydajności i skalowalności.

Django to wszechstronny framework webowy, który może współpracować z wieloma technologiami. Zapoznaj się z innymi poradnikami chmurowymi, które pokazują wykorzystanie Django:

Miłego kodowania!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.