Powrót do bloga

Tworzenie aplikacji Django z połączeniem z bazą danych: Samouczek

Tworzenie aplikacji Django z połączeniem z bazą danych: Samouczek

Django to darmowy i otwartoźródłowy framework webowy napisany w języku Python. Opublikowany po raz pierwszy w 2005 roku, Django kieruje się mottem „szybkiego rozwoju i czystego, pragmatycznego projektowania”. Framework ten, wdrożony na serwerze WWW, pozwala szybko stworzyć interfejs webowy o bogatych funkcjach, bezpieczeństwie i skalowalności.

Każda aplikacja internetowa opiera się na bazach danych w celu przechowywania treści. Django, jako nowoczesny framework, obsługuje wiele standardowych programów bazodanowych, na przykład PostgreSQL, SQLite, MySQL, itd. Ten przewodnik pokaże, jak połączyć aplikację Django z bazą danych MySQL.

Wymagania wstępne

Aby przejść przez ten samouczek, przed przystąpieniem do łączenia Django z bazą danych należy spełnić określone warunki wstępne:

Instalacja i konfiguracja Pythona 3

Django jest napisane w Pythonie. Uruchomienie dowolnej aplikacji w Pythonie wymaga zainstalowania w systemie plików binarnych Pythona. Ubuntu ma domyślnie zainstalowanego Pythona. W tym przypadku będziemy używać Pythona 3. Uruchom następujące polecenia w terminalu. Najpierw zaktualizuj pamięć podręczną APT i zaktualizuj (jeśli są dostępne) wszystkie zainstalowane pakiety:

Python 3 jest bezpośrednio dostępny z oficjalnych serwerów pakietów Ubuntu. Pakiet python-is-python3  tworzy python dowiązanie symboliczne do pliku binarnego python3 w celu ułatwienia użytkowania:

Następnie sprawdź, czy instalacja przebiegła pomyślnie:

Następnie potrzebujemy pip. Jest to standardowy menedżer pakietów Pythona. Odpowiada za zarządzanie dodatkowymi bibliotekami Pythona, które nie są częścią biblioteki standardowej. Zwróć uwagę, że instalujemy pip3 (dla Pythona 3):

Na koniec potrzebujemy kilku dodatkowych pakietów dla stabilnego środowiska programistycznego:

Instalacja i konfiguracja MySQL

W tej sekcji krótko przedstawimy instalację i konfigurację MySQL. Jest on dostępny w domyślnych repozytoriach pakietów Ubuntu:

Jeśli instalacja przebiegła pomyślnie, MySQL zacznie działać w tle. Sprawdź, czy działa poprawnie:

Django App 1

Serwer MySQL działa. Możemy teraz bezpiecznie przejść do tworzenia naszej aplikacji Django.

Praca z Django

  • Tworzenie przykładowej aplikacji Django

Podstawą naszej aplikacji internetowej jest szkielet projektu Django. Zawiera on wszystkie niezbędne narzędzia i biblioteki wymagane do stworzenia stabilnej aplikacji internetowej. Najpierw utworzymy dedykowany katalog dla naszej aplikacji Django. Zaleca się nazwanie katalogu w sposób znaczący i spójny z aplikacją, którą zamierzamy zbudować. W tej demonstracji nazwiemy go myDemoApp:

Potrzebujemy modułu Pythona venv do utworzenia wirtualnego środowiska w tym katalogu. Zainstaluj moduł za pomocą APT:

Następnie przejdź do katalogu i utwórz wirtualne środowisko. Dla jasności nazwaliśmy to środowisko demoapp_env:

Następnie aktywuj środowisko wirtualne, uruchamiając skrypt activate:

Django App 2

Teraz zainstalujemy Django w tym dedykowanym środowisku wirtualnym. Pip pobierze i zainstaluje kilka dodatkowych komponentów:

Django jest zainstalowane i gotowe do użycia. Wywołaj polecenie django-admin, aby utworzyć nowy projekt Django. Następnie nadaj aplikacji odpowiednią nazwę:

Utworzy to projekt demonstracyjny z niezbędnymi plikami i katalogami projektu na swoim miejscu:

Django App 3

Szkielet projektu jest gotowy. Następnie musimy go odpowiednio skonfigurować, aby osiągnąć nasz cel.

  • Edycja ustawień projektu Django

Wszystkie konfiguracje projektu są przechowywane w pliku settings.py. Znajduje się on w katalogu projektu Django. Zaczniemy od ustawienia odpowiedniej strefy czasowej i listy hostów, które mogą łączyć się z aplikacją Django. Otwórz plik konfiguracyjny w edytorze tekstu:

Przewiń skrypt w dół i znajdź wpis TIME_ZONE. Na potrzeby demonstracji strefa czasowa jest ustawiona na America/New_York:

TIME_ZONE

Dla odniesienia, poniższe polecenie wyświetli wszystkie obsługiwane strefy czasowe w systemie Linux:

Następnie przewiń do wpisu ALLOWED_HOSTS. Kontroluje on, które maszyny mogą uzyskać dostęp do aplikacji. Na potrzeby demonstracji zawiera on tylko localhost:

Django App 4Następnie zapisz plik i zamknij edytor. Kolejne polecenie zastosuje zmiany:

python manageTeraz musimy utworzyć konto administratora dla aplikacji internetowej. Konto to będzie używane do uzyskiwania dostępu do interfejsu administracyjnego Django. Uruchom następujące polecenie:

Django App 5Zostaniesz poproszony o podanie nazwy użytkownika, adresu e-mail i hasła. Aplikacja jest teraz gotowa do połączenia z bazą danych.

Połączenie z MySQL

  • Instalacja konektorów MySQL i bibliotek programistycznych

Aby zintegrować MySQL z aplikacją Django, potrzebujemy dodatkowych bibliotek Pythona 3, które dostarczą niezbędnych narzędzi. Będziemy używać konektora bazy danych mysqlclient. Jest to fork MySQLdb.

Upewnij się, że mamy zainstalowany python3-dev:

Potrzebujemy również dodatkowych nagłówków i bibliotek Pythona i MySQL:

Po zakończeniu instalacji użyj pip do zainstalowania modułu Pythona mysqlclient. Może to wygenerować pewne komunikaty o błędach, które można zignorować:

  • Konfigurowanie dedykowanej bazy danych

Kolejnym krokiem jest skonfigurowanie dedykowanej bazy danych i użytkownika bazy danych dla naszej aplikacji Django. Uruchom powłokę MySQL jako użytkownik root :

Aby sprawdzić wszystkie obecnie dostępne bazy danych, uruchom następujące zapytanie:

Utwórzmy dedykowaną bazę danych dla naszej aplikacji Django. Nadaj jej odpowiednią nazwę, spójną z nazwą projektu:

Następnie zweryfikuj utworzenie:

Django App 6Teraz utwórz dedykowanego użytkownika MySQL. Skonfigurujemy tego użytkownika jako właściciela bazy danych. Aplikacja Django będzie używać poświadczeń tego użytkownika do pracy z bazą danych MySQL:

Nadaj użytkownikowi demoapp_user pełne uprawnienia do bazy danych demoapp_data:

Aby zmiany uprawnień weszły w życie, przeładuj MySQL grant tables:

Django App 7Baza danych jest teraz gotowa do połączenia z aplikacją Django.

  • Łączenie bazy danych z aplikacją Django

Na koniec skonfigurujemy aplikację Django tak, aby używała bazy danych do przechowywania danych. Otwórz skrypt konfiguracyjny settings.py:

Przewiń w dół do wpisu DATABASES i wprowadź następujący kod:

Django App 8Zapisz plik i zamknij edytor. Następnym krokiem jest ustawienie pliku konfiguracyjnego opisanego wcześniej w kodzie. Użyj sudo aby otworzyć plik tekstowy w opisanej lokalizacji:

Ten plik konfiguracyjny będzie zawierał informacje o bazie danych dedykowanej dla Django oraz o użytkowniku, którego utworzyliśmy w serwerze MySQL. Dodaj następujące linie na końcu pliku:

default-character-setAby zmiany weszły w życie, musimy zrestartować serwer MySQL:

  • Testowanie połączenia z MySQL

Teraz nadszedł czas, aby zweryfikować, czy połączenie z MySQL działa poprawnie. Jeśli serwer Django uruchamia się bez problemów, oznacza to, że połączenie działa prawidłowo. W przeciwnym razie coś jest nie tak. Najpierw zastosuj wszystkie zmiany wprowadzone w projekcie Django:

python manageTeraz przejdź do następującego katalogu projektu i uruchom serwer Django:

python manage.py runserverNastępnie spróbuj uzyskać dostęp do serwera z poziomu przeglądarki internetowej:

server_ip_address

Voila! Pomyślnie trafiliśmy na stronę sukcesu Django. Potwierdza to również, że połączenie z MySQL działa poprawnie. Po zakończeniu zadania możesz bezpiecznie wyjść ze środowiska wirtualnego:

Podsumowanie

W tym poradniku poznałeś podstawy łączenia Django i MySQL. Utworzyliśmy aplikację Django i pokazaliśmy, jak połączyć ją z bazą danych MySQL. Cała magia tkwi w pliku konfiguracyjnym Django settings.py. Zmodyfikowaliśmy również kilka podstawowych ustawień, takich jak ALLOWED_HOSTS oraz TIME_ZONE. Django jest niezwykle elastyczne. Oprócz MySQL obsługuje również inne serwery SQL, takie jak PostgreSQL, silniki serwerowe, takie jak Nginx, itp.

Możesz również zapoznać się z naszymi poradnikami dotyczącymi najlepszych praktyk instalacji, konfiguracji i pracy z Django:

Miłego korzystania!

author

Hark Labs

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.