Django to zaawansowany framework webowy, który pozwala na szybkie tworzenie bezpiecznych i łatwych w utrzymaniu stron internetowych. Jest to darmowy framework o otwartym kodzie źródłowym napisany w języku Python. Django jest również popularny ze względu na dodatkowe funkcje, takie jak wydajność, bezpieczeństwo, skalowalność, przenośność i łatwość utrzymania.
Ten przewodnik pokaże, jak zainstalować Django i skonfigurować prostą aplikację internetową na systemie Ubuntu 20.04.
Django na Ubuntu
Istnieje wiele sposobów instalacji Django w systemie. Każda metoda odpowiada innemu celowi.
- Instalacja globalna: Django jest łatwo dostępny w oficjalnych repozytoriach pakietów Ubuntu. Możemy go zainstalować bezpośrednio za pomocą menedżera pakietów APT. Chociaż ta metoda instalacji jest prosta, oferuje mniejszą elastyczność niż inne metody. Ponadto może nie zawierać najnowszej wersji frameworka.
- Instalacja za pomocą
pipw środowisku wirtualnym: Korzystając z narzędzi takich jakvenvorazvirtualenv, możemy utworzyć środowisko wirtualne i tam zainstalować Django. Zaletą tego podejścia jest to, że nie wpływa ono na resztę systemu. Pozwala również na dostosowanie i pakiety dla konkretnego projektu. Jest to najbardziej praktyczna i zalecana metoda pracy z Django. - Instalacja wersji deweloperskiej Django: Django jest również dostępny na platformie GitHub. Najnowsza wersja deweloperska będzie zawierać najnowsze funkcje i poprawki. Wiąże się to jednak z ryzykiem potencjalnych problemów z wydajnością i stabilnością.
Ten przewodnik zakłada, że posiadasz odpowiednio skonfigurowany serwer Ubuntu. Jeśli nie masz jeszcze serwera Ubuntu, możesz skorzystać z naszego przewodnika na temat tego, jak skonfigurować własny serwer Ubuntu.
Instalacja Django na Ubuntu
1. Instalacja globalna za pomocą menedżera pakietów
Django jest łatwo dostępny w oficjalnych repozytoriach pakietów. Proces instalacji jest dość prosty. Najpierw zaktualizuj indeks pakietów APT:
|
1 |
$ sudo apt update |
Następnie sprawdź zainstalowaną wersję Pythona. Domyślnie Ubuntu 20.04 jest dostarczane z Pythonem 3.8:
|
1 |
$ python3 -V |
Teraz jesteśmy gotowi do instalacji Django:
|
1 |
$ sudo apt install python3-django |
Możemy zweryfikować, czy instalacja przebiegła pomyślnie. Uruchom następujące polecenie, aby sprawdzić wersję Django:
|
1 |
$ django-admin --version |
Potwierdza to, że Django zostało pomyślnie zainstalowane. Zwróć uwagę, że ta wersja Django nie jest najnowszym stabilnym wydaniem. W momencie pisania tego tekstu najnowsza dostępna wersja Django to v3.2.5 (wydanie LTS).
2. Instalacja Django za pomocą pip (w środowisku wirtualnym)
Jest to zalecany sposób instalacji Django, ponieważ zapewnia największą elastyczność. Wygenerujemy środowisko wirtualne za pomocą modułu venv, który jest częścią biblioteki standardowej Pythona 3. Pozwala on na tworzenie wirtualnych środowisk Pythona i instalowanie pakietów Pythona bez wprowadzania zmian w innych miejscach systemu. Możesz mieć wiele środowisk wirtualnych o unikalnych konfiguracjach.
Zacznijmy. Najpierw potrzebujemy modułów Pythona pip oraz venv:
|
1 2 |
$ sudo apt update $ sudo apt install python3-pip python3-venv |
Moduły zostały pomyślnie zainstalowane. Teraz utworzymy dedykowany katalog dla środowiska wirtualnego:
|
1 |
$ mkdir -pv ~/sample_project |
Następnie zmień aktywny katalog na nowy katalog:
|
1 |
$ cd ~/sample_project |
Teraz możemy polecić modułowi venv utworzenie środowiska wirtualnego w tym katalogu. Jeśli chodzi o nazwę środowiska, powinna być ona opisowa:
|
1 |
$ python3 -m venv sample_project_env |
Moduł venv utworzy kopię Pythona oraz pip w odizolowanej strukturze katalogów wewnątrz katalogu projektu. Będzie on zawierał katalog o wybranej nazwie, w którym znajduje się hierarchia plików, gdzie instalowane są wszystkie pakiety.
Aby zainstalować dodatkowe pakiety, musimy aktywować środowisko:
|
1 |
$ source sample_project_env/bin/activate |
Znak zachęty powłoki powinien zmienić się na coś takiego:
Wewnątrz środowiska wirtualnego możemy teraz zainstalować Django:
|
1 |
$ pip install django |
Sprawdź, czy instalacja przebiegła pomyślnie:
|
1 |
$ django-admin --version |
Aby opuścić środowisko wirtualne, uruchom następujące polecenie:
|
1 |
$ deactivate |
3. Instalacja wersji deweloperskiej Django
Wersja deweloperska Django jest bezpośrednio dostępna na GitHub. Będziemy używać git do jej sklonowania i wdrożenia w środowisku wirtualnym.
Najpierw upewnij się, że masz zainstalowane niezbędne narzędzia. Poniższe polecenie zainstaluje venv oraz pip (moduły Pythona) i git:
|
1 |
$ sudo apt update && sudo apt install python3-pip python3-venv git |
Następnie sklonuj repozytorium Django. Będzie ono zawierać wszystkie najnowsze funkcje i poprawki błędów (kosztem stabilności). Sklonujemy je do katalogu ~/django-dev:
|
1 |
$ git clone git://github.com/django/django ~/django-dev |
Zmień bieżący katalog na sklonowane repozytorium:
|
1 |
$ cd ~/django-dev |
Następnie utwórz środowisko wirtualne za pomocą modułu Pythona venv:
|
1 |
$ python3 -m venv sample_project_env |
Następnie aktywuj środowisko wirtualne:
|
1 |
$ source sample_project_env/bin/activate |
Teraz możemy zainstalować Django sklonowane z GitHub. Tutaj flaga -e odnosi się do trybu „edytowalnego” (editable), aby umożliwić instalację z systemu kontroli wersji:
|
1 |
$ pip install -e ~/django-dev |
Na koniec zweryfikuj instalację:
|
1 |
$ django-admin --version |
Przykładowy projekt Django
Do tej pory pokazaliśmy, jak zainstalować Django w systemie. Teraz czas na uruchomienie Django w praktyce. W tej sekcji zademonstrujemy, jak utworzyć przykładowy projekt Django. Przykładowy projekt zostanie utworzony w środowisku wirtualnym.
Utwórz katalog dla przykładowego projektu:
|
1 |
$ mkdir -pv ~/django-test |
Zmień bieżący katalog na katalog projektu:
|
1 |
$ cd ~/django-test |
Następnie użyj modułu venv, aby utworzyć środowisko wirtualne Pythona:
|
1 |
$ python3 -m venv dummy_env |
Środowisko wirtualne jest gotowe. Aktywuj środowisko:
|
1 |
$ source dummy_env/bin/activate |
Możemy zainstalować Django wewnątrz środowiska:
|
1 |
$ pip install django |
Możemy użyć django-admin do zbudowania bazy projektu. W tym przypadku przykładowy projekt będzie nosił nazwę sampleproject. Projekt będzie posiadał katalog wewnątrz katalogu środowiska, który zawiera wszystkie niezbędne pliki.
manage.py: Skrypt zarządzający, który administruje różnymi zadaniami specyficznymi dla Django.przykładowy projekt: Katalog o nazwie projektu, który zawiera właściwy kod projektu.
Nie chcemy jednak tworzyć gąszczu zbyt wielu zagnieżdżonych katalogów. Dlatego powiedz Django, aby umieścił pliki i katalogi w bieżącym katalogu:
|
1 |
$ django-admin startproject sampleproject . |
Kolejnym krokiem jest migracja bazy danych. Domyślnie Django używa SQLite. Migracje wprowadzają wszelkie zmiany dokonane w modelach Django do schematu bazy danych. Uruchom następujące polecenie, aby przeprowadzić migrację bazy danych:
|
1 |
$ python manage.py migrate |
Na koniec utworzymy użytkownika administratora, aby móc korzystać z interfejsu administracyjnego Django. Uruchom następujące polecenie:
|
1 |
$ python manage.py createsuperuser |
Zostaniesz poproszony o podanie nazwy użytkownika, adresu e-mail oraz hasła dla użytkownika.
ALLOWED_HOSTS w ustawieniach Django
Aby przetestować aplikację, musimy zmodyfikować określoną dyrektywę w ustawieniach Django. Otwórz plik settings.py w edytorze tekstu:
|
1 |
$ nano ~/django-test/sampleproject/settings.py |
Interesuje nas dyrektywa ALLOWED_HOSTS. Określa ona listę adresów lub nazw domen, które mogą łączyć się z instancją Django. Każde przychodzące żądanie od hosta, którego nie ma na liście, wywoła wyjątek. Jest to wymagane przez Django w celu zapobiegania określonym klasom luk bezpieczeństwa.
Wewnątrz nawiasu kwadratowego wypisz adresy IP lub nazwy domen powiązane z serwerem Django. Każda pozycja zostanie podana w cudzysłowie, oddzielona przecinkiem (,). Oto jak wyglądałaby struktura tej dyrektywy:
|
1 |
$ ALLOWED_HOSTS = ['<server_ip_or_domain>', '<server2_ip_or_doman>'] |
Zapisz listę i zamknij edytor.
Testowanie serwera
Możemy teraz uruchomić serwer wdrożeniowy Django. Zaprezentuje on nowy projekt Django. Pamiętaj, że powinien być on używany wyłącznie do celów programistycznych. W przypadku pełnego wdrożenia postępuj zgodnie z oficjalnym przewodnikiem Django dotyczącym wdrażania.
Przed uzyskaniem dostępu do serwera deweloperskiego upewnij się, że zapora sieciowa zezwala na dostęp do portu 8000. Jeśli postępujesz zgodnie z konfiguracją serwera Ubuntuinstrukcją, nakaż UFW otwarcie portu 8000 do komunikacji:
|
1 |
$ sudo ufw allow 8000 |
UFW to popularna zapora sieciowa dostępna we wszystkich głównych dystrybucjach Linuksa. Oto przewodnik wyjaśniający różne podstawy UFW. Serwer deweloperski jest teraz gotowy do uruchomienia. Uruchom serwer:
|
1 |
$ python manage.py runserver <server_ip>:8000 |
Następnie odwiedź adres IP serwera na porcie 8000 w przeglądarce internetowej. Spowoduje to przejście do strony powitalnej Django:
|
1 |
$ http://<server_ip>:8000 |
Aby uzyskać dostęp do panelu administracyjnego Django, dodaj /admin/ na końcu adresu URL:
|
1 |
$ http://<server_ip>:8000/admin/ |
Wprowadź nazwę użytkownika i hasło administratora, aby uzyskać dostęp do sekcji administracyjnej:
Możesz zatrzymać serwer, naciskając CTRL-C w terminalu.
Podsumowanie
Projekt Django oferuje podstawę strukturalną do zaprojektowania bardziej kompletnej witryny. Zapewnia główne narzędzia potrzebne do zasilania aplikacji internetowej. Wykorzystanie frameworka webowego, takiego jak Django, pozwala na szybszy rozwój projektu i poświęcenie większej ilości czasu na unikalne aspekty aplikacji.
Miłego kodowania!












Komentarze
Brak komentarzy. Bądź pierwszy.