Rozwiń silne zrozumienie ról i funkcji projektów i aplikacji w ramach Django.

W Django możesz użyć dwóch podstawowych komponentów do stworzenia aplikacji internetowej; aplikacje i projekty. Deweloperzy czasami używają tych terminów zamiennie, chociaż mają one różne znaczenia i funkcje we frameworku internetowym Django.

Zrozumienie projektów Django

W Django projekt jest kontenerem najwyższego poziomu dla Twojej aplikacji internetowej. Projekt zawiera konfiguracje Twojej aplikacji internetowej i jedną lub więcej aplikacji, z których każda zapewnia określony zestaw funkcji lub funkcji dla Twojej aplikacji internetowej. Zawiera również wszelkie komponenty współużytkowane przez różne aplikacje. W projekcie Django można znaleźć narzędzia i narzędzia, które ułatwiają zarządzanie aplikacją internetową, takie jak narzędzie wiersza poleceń Django i serwer deweloperski Django.

Komponenty projektu Django

Projekt Django zazwyczaj zawiera różne aplikacje i konfiguracje Twojej aplikacji internetowej. Za każdym razem, gdy tworzysz nowy projekt, Django automatycznie generuje pliki zawierające te konfiguracje. Komponenty zawarte w projekcie Django to:

  1. Ustawienia: Moduł ustawień zawiera konfiguracje potrzebne do Twojego projektu i poszczególnych aplikacji w Twoim projekcie. Ten moduł zawiera przede wszystkim opcje konfiguracyjne, takie jak połączenie z bazą danych, oprogramowanie pośrednie, zainstalowana aplikacja, dozwolone hosty i inne konfiguracje potrzebne do działania aplikacji internetowej.
  2. adresy URL: Moduł adresów URL definiuje wzorzec adresu URL dla Twojej aplikacji. Każdy wzorzec adresu URL w Twoim projekcie może zostać odwzorowany na inny wzorzec adresu URL w Twojej aplikacji lub bezpośrednio na funkcję widoku, która obsługuje żądanie dotyczące określonego adresu URL. Niezależnie od tego, czy wzorzec adresu URL jest mapowany na funkcję widoku, czy inny wzorzec adresu URL w Twojej aplikacji, ostatecznym celem jest odwzorowanie go na widok, który skutecznie obsługuje żądanie.
  3. WSGI: Moduł WSGI (Web Server Gateway Interface) jest standardem języka Python dla serwerów WWW i aplikacji. Moduł WSGI umożliwia uruchamianie Django na różnych serwerach.
  4. ASGI: Moduł ASGI (Asynchronous Server Gateway Interface) obsługuje żądania asynchroniczne, takie jak Połączenia WebSockets. ASGI to standard asynchronicznych serwerów sieciowych do komunikacji z aplikacjami sieciowymi Pythona.
  5. Inne komponenty: Czasami będziesz musiał dodać własne komponenty do swojego projektu Django, w zależności od wymagań aplikacji. Składniki te obejmują pliki statyczne, szablony, pliki multimedialne i niestandardowe polecenia zarządzania.

Jak stworzyć projekt Django

Aby stworzyć projekt Django, powinieneś użyć django-admin narzędzie wiersza poleceń. Możesz stworzyć swój projekt Django, wykonując następujące kroki:

  1. W interfejsie wiersza poleceń przejdź do katalogu, w którym chcesz utworzyć projekt Django.
  2. Zainstaluj Django za pomocą menedżera pakietów pip.
    pip zainstaluj django
  3. Wpisz następujące polecenie i uruchom je:
    Projekt startowy django-admin 

Powyższe polecenie utworzy taki katalog:

Zauważysz redundancję w nazwach katalogu twojego projektu, tj. nazwa twojego projektu pojawi się dwa razy. Jeśli chcesz się tego pozbyć, możesz dodać okres, kiedy uruchamiasz swój rozpocznij projekt polecenie takie:

Projekt startowy django-admin  .

Teraz struktura Twojego projektu będzie wyglądać następująco:

Wykonanie powyższych kroków wymaga pomyślnego utworzenia projektu Django. The zarządzaj.py plik utworzony w twoim projekcie jest ważny dla interakcji z twoim projektem Django.

Zrozumienie aplikacji Django

Celem aplikacji jest zapewnienie projektowi Django określonej funkcjonalności. Aplikacja pomaga uporządkować bazę kodu, dzieląc funkcje projektu na mniejsze komponenty.

Na przykład w projekcie blogu będziesz mieć aplikację przeznaczoną do uwierzytelniania i autoryzacji oraz inną przeznaczoną do postów na blogu. Możesz tworzyć wiele aplikacji w oparciu o specyficzne potrzeby Twojego projektu.

Komponenty aplikacji Django

Aplikacja Django składa się z modułów związanych z projektem, czyli z konkretną funkcją Twojej strony internetowej. Podobnie jak w przypadku projektu, Django automatycznie generuje pomocne pliki podczas tworzenia aplikacji. Pliki generowane przez Django obejmują:

  1. wyświetlenia.py: Ten plik będzie zawierał całą logikę niezbędną do otrzymywania żądań i wysyłania odpowiedzi. Określa również, który szablon HTML ma być renderowany na podstawie działań użytkownika w Twojej witrynie.
  2. modele.py: ten moduł określa strukturę danych Twojej aplikacji i określa, w jaki sposób baza danych będzie ją przechowywać. Wykorzystuje ORM (Object-Relational Mapping) Django do definiowania danych. Komponent modele definiuje inaczej Relacje z bazą danych w Django.
  3. admin.py: Moduł administratora definiuje interfejs administracyjny Twojej aplikacji Django. Powinieneś zarejestrować swoje modele w pliku administratora. Jeśli potrzebujesz dodatkowych funkcji administracyjnych poza tymi, które zapewnia Django, w tym module możesz zdefiniować niestandardowe widoki interfejsu administratora.
  4. urls.py: Ten plik definiuje wzorce adresów URL lub trasy unikalne dla konkretnej aplikacji Django. Czasami Django nie generuje tego pliku automatycznie. Jeśli tak się stanie, możesz ręcznie utworzyć go w katalogu aplikacji.

Django generuje kilka innych komponentów, takich jak aplikacje.py I testy.py. Te pliki definiują konfiguracje aplikacji i umożliwiają odpowiednio pisanie testów jednostkowych.

Jak stworzyć aplikację Django

Przed utworzeniem aplikacji musisz utworzyć projekt. Po utworzeniu projektu przejdź do katalogu zawierającego plik zarządzaj.py plik i uruchom następujące polecenie w swoim terminalu:

python Manage.py projekt startowy 

Powyższe polecenie utworzy taką strukturę folderów na tym samym poziomie katalogu, co twój projekt:

Różnica między aplikacją a projektem w Django

Istnieją pewne wyraźne różnice między projektem a aplikacją w Django. Niektóre z nich wymieniono poniżej.

Ponowne użycie kodu

W Django aplikacja jest komponentem aplikacji internetowej wielokrotnego użytku. Oznacza to, że jeśli masz aplikację, która obsługuje uwierzytelnianie użytkowników w jednym projekcie, możesz ponownie użyć tej samej aplikacji w innym projekcie z niewielkimi lub żadnymi zmianami. Z drugiej strony projekt nie nadaje się do ponownego wykorzystania. Po utworzeniu projektu dla określonej aplikacji internetowej nie można go użyć w innej aplikacji.

Zakres działania

Projekt działa na wyższym poziomie niż aplikacja, ponieważ odpowiada za ogólną konfigurację i zarządzanie Twoją witryną. Z drugiej strony aplikacja odpowiada tylko za określoną funkcję lub funkcjonalność Twojej witryny.

Struktura folderów

Najbardziej oczywistą różnicą między aplikacją a projektem jest ich struktura folderów. Projekt zwykle zawiera ustawienia i inne pliki konfiguracyjne odpowiedzialne za dobre działanie Twojej witryny.

Następuje aplikacja Architektura MVT Django. Zawiera tylko pliki i konfiguracje odpowiedzialne za dobre działanie określonej funkcji Twojej witryny.

Twój projekt i aplikacja współpracują ze sobą, aby stworzyć dobrą aplikację internetową

Chociaż Twój projekt i aplikacja mają swoją wyjątkowość, ostatecznie są używane, aby zapewnić bezproblemowe środowisko podczas tworzenia aplikacji. Powinieneś być w stanie połączyć komponenty projektu i aplikacji, aby zbudować i dostosować swoją aplikację internetową. Po przygotowaniu aplikacji i projektu możesz rozpocząć tworzenie witryny internetowej za pomocą Django.