Architektura Django: Objaśnienie działającego systemu MVT Framework

Opublikowany: 2020-12-23

Spis treści

Wstęp

Django to jeden z najłatwiejszych i najwydajniejszych frameworków aplikacji internetowych napisany w języku Python. Ten framework jest darmowy i open-source, a zatem w dużej mierze zastąpił użycie PHP, serwletów itp. do tworzenia zaplecza dowolnej witryny. Został opracowany przez Django Software Foundation 15 lipca 2005 roku.

Django zapewnia bezkonkurencyjną zaletę łatwości tworzenia baz danych dla programistów pracujących na złożonych frameworkach do tworzenia stron internetowych. Ponadto Django zapewnia jeden z najszybszych przepływów danych, a także zapewnia, że ​​bezpieczeństwo nie zostanie naruszone.

Architektura Django opiera się przede wszystkim na frameworku MVT, jak wyjaśniono poniżej.

  • M: Modelka
  • V: Widok
  • T: Szablon

MVT można postrzegać jako alternatywę dla struktury MVC, która składa się z modelu, widoku i kontrolera. Główny kontrast między MVT i MVC polega na tym, że architektura Django dba o obowiązki obsługiwane przez część kontrolera architektury MVC. Django wykorzystuje swoje szablony do wykonywania wszystkich zadań związanych z kontrolerem. Mówiąc prościej, szablon zawiera zawartość, która jest połączeniem języka szablonów Django (znanego również jako DTL) i języka HTML (Hyper Text Markup Language).

Szablon, jak przedstawiono powyżej, jest odpowiedzialny za wszystkie działania związane z interfejsem użytkownika i dostosowania wraz z działaniami związanymi z architekturą aplikacji. Pod szablonem mamy „Widok”. Widok przejmuje kontrolę nad logicznym przetwarzaniem i czynnościami decyzyjnymi aplikacji, a także komunikuje się z „Modelem”, aby pobrać odpowiednie punkty danych i odpowiednio zmienić szablon zgodnie z wymaganiami.

Jak omówiono powyżej, samo Django działa jako kontroler, który pobiera adres URL, który jest połączony z częścią widoku aplikacji i ostatecznie wysyła odpowiednie odpowiedzi użytkownika do aplikacji. Jest to ogólna interakcja, która zachodzi w architekturze Django MVT.

Musisz przeczytać: Projekty Django na Github

Model

W Django model odgrywa ważną rolę w łączeniu całej architektury z bazą danych. W całym tym procesie każdy model jest połączony z pojedynczą tabelą w bazie danych. Metody i pola związane z tym procesem są deklarowane w osobnym pliku, ogólnie określanym jako models.py.

Po zakończeniu procesu łączenia i połączeniu wszystkiego z bazą danych, będziemy mogli ocenić każdy wiersz, a dokładniej, nagrywać z odpowiedniej tabeli, a nawet wykonywać różne operacje DML na tabeli.

Django.db.models to podklasa używana w tym przypadku. Możemy użyć domyślnej funkcji importu Pythona jako „z modeli importu django.db”.

Po zdefiniowaniu naszych kolumn, tabel i rekordów bazy danych będziemy pobierać dane, które są połączone z aplikacją, wspominając o mapowaniu w settings.py.

Pogląd

Ogólna logika struktury przepływu danych jest zdefiniowana w tej części modelu. Cały kod jest zdefiniowany w pliku views.py.

Kolejnym zadaniem pliku widoku jest wysyłanie odpowiedzi do odpowiedniego użytkownika za każdym razem, gdy aplikacja jest używana. W kategoriach laika możemy po prostu stwierdzić, że view.py jest w stanie obsłużyć HttpResponse.

Kiedy tworzony jest plik widoku, kolejnym pytaniem, które przychodzi nam do głowy, jest jak połączyć ten plik z naszą aplikacją? W jaki sposób upewniamy się, że framework zrozumie, kiedy wyświetlić konkretny widok? To zrozumienie można ustalić, mapując views.py w oddzielnym pliku urls.py. Jak omówiliśmy powyżej, urls.py jest odpowiedzialny za śledzenie wszystkich odrębnych stron, a tym samym mapowanie każdej z nich.

Szablon

Ilekroć chcemy stworzyć dynamiczną stronę internetową dla złożonych operacji lub funkcji, szablony pomagają nam to osiągnąć w łatwy sposób. Mówiąc prościej, dynamiczna strona internetowa wysyła i odbiera dynamiczne lub zmieniające się dane. Dane dynamiczne są zwykle kojarzone ze scenariuszem, w którym każdemu użytkownikowi prezentowane są jego spersonalizowane dane. Na przykład posty w serwisach społecznościowych, takich jak Facebook, Instagram, Twitter itp. lub różne transakcje w produktach fintech itp.

Szablon jest konfigurowany w pliku settings.py, który znajduje się w katalogu INSTALLED_APPS. Dlatego kod Pythona po prostu wyszuka powiązane pliki w podkatalogu szablonu. Są na to dwie możliwości — albo możemy wygenerować plik HTML, albo po prostu zaimportować dynamiczną stronę internetową przez przeglądarkę i zapisać ją w odpowiednim folderze szablonów.

Teraz, aby otrzymać odpowiedź, połączymy ten plik w urls.py i views.py. Po zakończeniu całego procesu łączenia możemy uruchomić naszą stronę internetową.

W tym sensie tak działa Django. Główne rekordy Pythona używane do komunikowania się ze sobą w celu wyświetlenia naszej strony to settings.py, view.py i urls.py

Kiedy indywidualnie scharakteryzujemy nasze uzasadnienie, możemy mieć proces pracy łączący bazę danych, pobierający źródła danych i reakcje klienta oraz pokazywać dynamiczne strony. Jeśli chcesz zagłębić się w Django, zajrzyj do dokumentacji i zrozum związek między nimi.

Przeczytaj także: Pomysły na projekty Python Django

Zapisz się na kursy inżynierii oprogramowania z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Wierzymy, że spodobał Ci się nasz przegląd frameworka Django. Jeśli masz jakiekolwiek pytania lub zalecenia dotyczące tego artykułu, uprzejmie daj nam znać w sekcji komentarzy poniżej. Chętnie wysłuchamy twoich rozmyślań.

Jeśli jesteś zaintrygowany studiowaniem Django i innych narzędzi i frameworków do inżynierii pełnego stosu, spójrz na program Executive PG UpGrad i IIIT-B w zakresie tworzenia oprogramowania z pełnym stosem, który jest przeznaczony dla pracujących ekspertów i oferuje ponad 500 długich etapów dokładnego przygotowania , 9+ przedsięwzięć i zadań, status absolwentów IIIT-B, rozsądne aktywne przedsięwzięcia zwieńczenia i pomoc w zatrudnieniu w najlepszych firmach.

Przygotuj się na karierę przyszłości

Aplikuj teraz na studia magisterskie z inżynierii oprogramowania