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.
- Odpowiednio skonfigurowany serwer Ubuntu 21.04. Dowiedz się więcej o konfiguracji serwera Ubuntu.
- Środowisko programistyczne Python. Django jest napisane w Pythonie, więc do działania wymaga środowiska Python.
- Zainstalowany PostgreSQL, ponieważ użyjemy go jako serwera bazy danych dla naszej aplikacji Django. Dowiedz się więcej o instalacji i konfiguracji PostgreSQL na Ubuntu tutaj.
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:
|
1 |
sudo apt update |
Następnie zainstaluj pakiety:
|
1 |
sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib |
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 :
|
1 |
sudo su – postgres |
Powinieneś znaleźć się w nowej sesji powłoki jako użytkownik postgres. Następnie otwórz powłokę PostgreSQL:
|
1 |
psql |
Teraz utworzymy dedykowaną bazę danych dla naszej aplikacji Django. Zaleca się nadanie jej nazwy pasującej do aplikacji Django:
|
1 |
CREATE DATABASE <database_name>; |
Następnie utworzymy dedykowanego użytkownika bazy danych. Użyjemy tego użytkownika do uzyskania dostępu do bazy danych dedykowanej dla Django:
|
1 |
CREATE USER <username> WITH PASSWORD '<password>'; |
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:
|
1 2 3 |
ALTER ROLE <username> SET client_encoding TO 'utf8'; ALTER ROLE <username> SET default_transaction_isolation TO 'read committed'; ALTER ROLE <username> SET timezone TO '<timezone>'; |
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:
|
1 |
SELECT * FROM pg_timezone_names; |
Na koniec nadaj nowemu użytkownikowi pełne uprawnienia do bazy danych dedykowanej dla Django:
|
1 |
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>; |
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:
|
1 |
sudo apt install virtualenv |
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:
|
1 |
mkdir -pv <dir_name> |
Zmień bieżący katalog aktywny i utwórz środowisko wirtualne:
|
1 2 |
cd sample_app/ virtualenv sample_app_env |
Następnie aktywuj środowisko wirtualne:
|
1 |
source sample_app_env/bin/activate |
Środowisko wirtualne jest teraz gotowe i funkcjonalne. Następnie użyjemy pip do zainstalowania Django oraz psycopg2 (adaptera Pythona dla PostgreSQL):
|
1 |
pip install django psycopg2 |
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:
|
1 |
django-admin startproject <project_name> . |
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:
|
1 |
nano settings.py |
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:
|
1 2 3 4 5 6 7 8 9 10 |
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': '<db_name>', 'USER': '<db_user>', 'PASSWORD': '<db_user_password>', 'HOST': 'localhost', 'PORT': '', } } |
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:
|
1 |
python manage.py makemigrations |

|
1 |
python manage.py migrate |
Następnie utwórz superużytkownika dla naszej aplikacji Django:
|
1 |
python manage.py createsuperuser |
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:
|
1 |
python manage.py runserver localhost:8000 |
Otwórz adres URL w przeglądarce:
|
1 |
http://localhost:8000 |
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:
|
1 |
http://localhost:8000/admin |
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:
- Konfiguracja Django z PostgreSQL, Nginx i Gunicorn na Ubuntu 20.04
- Budowanie aplikacji Django i Gunicorn z Dockerem na Ubuntu
- Jak zabezpieczyć i skalować aplikację Django za pomocą Dockera, Nginx i Let’s Encrypt
- Tworzenie aplikacji Django z połączeniem z bazą danych: Poradnik
Miłego kodowania!






















Komentarze
Brak komentarzy. Bądź pierwszy.