Samouczek Django dla początkujących: Funkcje, Architechura i historia
Podsumowanie samouczka Django
Ten samouczek Django obejmuje wszystkie podstawowe tematy od podstaw. W tym samouczku poznasz takie pojęcia jak: czym jest Django, historia Django, funkcje Django, cechy frameworka Django, komponent Django, zalety i wady i wiele więcej.
Zanim nauczysz się Django, zrozummy:
Co to jest framework sieciowy?
Framework sieciowy to biblioteka kodów, która pomaga w budowaniu elastycznego, skalowalnego i łatwego w utrzymaniu środowiska; dynamiczna witryna internetowa, aplikacja internetowa i usługi sieciowe. Różne frameworki internetowe to Zend dla PHP, Ruby on Rails dla Ruby itp.
Co to jest Django?
Django to framework do tworzenia stron internetowych dla Python który oferuje standardowe metody szybkiego i efektywnego tworzenia stron internetowych. Głównym celem tego zaawansowanego frameworka internetowego jest tworzenie złożonych stron internetowych opartych na bazie danych. Pomaga on budować i utrzymywać wysokiej jakości aplikacje internetowe. Umożliwia on płynny i oszczędzający czas proces rozwoju w celu szybkiego rozwoju.
Dlaczego Django? Kluczowe zalety Django
Oto główne zalety Django:
- Django jest łatwe w konfiguracji i uruchomieniu. Oferuje wiele opcji na początek
- Zapewnia gotowy do użycia interfejs użytkownika do czynności administracyjnych
- Umożliwia tworzenie wielojęzycznych stron internetowych dzięki wbudowanemu systemowi internacjonalizacji
- Pomaga szybko sprostać ogromnemu zapotrzebowaniu na ruch
- Django służy do budowy wszelkiego rodzaju systemów zarządzania treścią, sieci społecznościowych, a także naukowych platform obliczeniowych.
- Django pomaga zapewnić kompleksowe testowanie aplikacji
- Pomaga udokumentować interfejs API za pomocą wyniku HTML
- REST Framework posiada bogatą obsługę kilku protokołów uwierzytelniania
- Uprawnienia i zasady ograniczania przepustowości
- Jest szeroko stosowany w przypadku żądań API ograniczających szybkość transmisji od jednego użytkownika.
Historia Django
Rok | Kamień milowy |
---|---|
2003 | Projekt został zapoczątkowany przez Adian Holovaty i Simona Willisona jako projekt wewnętrzny w gazecie Lawrence Journal-World |
Lipiec 2005 | Został wydany w lipcu 2005 roku jako „Django”, nazwany na cześć gitarzysty jazzowego Django Reinharda |
Czerwiec 2008 | Zadeklarowano, że plik Django Software Foundation (DSF) będzie utrzymywać Django. |
29 lipca 2009 | Wydano wersję Django 1.1 z funkcjami takimi jak agregaty i testy oparte na transakcjach. |
17 maja 2010 | Została wydana wersja Django 1.2. Aktualizacja oferuje funkcje takie jak wiele baz danych, implementację zaplecza poczty e-mail oraz ulepszenia dotyczące sesji i plików cookie. |
Marzec 23 2011 | Wprowadzono wersję 1.3 z funkcjami takimi jak widoki oparte na klasach i pliki statyczne |
Marzec 23 2012 | Uruchomiono wersję 1.4 z nowymi funkcjami, takimi jak strefy czasowe i testowanie w przeglądarce |
Luty 26 2013 | W zestawie wersja 1.5 Python 3 Wsparcie, konfigurowalne funkcje modelu użytkownika. |
Listopada 6 2013 | Wersja 1.6 wprowadza funkcje zarządzania transakcjami w bazie danych i grupowania połączeń. |
2 września 2014 | Wersja 1.7 zawierała nowe funkcje, takie jak ładowanie aplikacji, migracje i konfiguracja |
Kwiecień 1 2015 | natywna obsługa wielu silników szablonów. |
1 grudzień 2015 | W wersji 1.9 wprowadzono funkcję automatycznej weryfikacji hasła. |
Sierpnia 1 2016 | W wersji 1.10 wyszukiwanie pełnotekstowe dla PostgreSQL uruchomiona. |
Kwiecień 4 2017 | Wersja 1.11 staje się ostatnią obsługiwaną wersją Python 2.7 |
2 grudzień 2017 | wersja 2.0 staje się pierwszą wersją wydaną tylko w Pythonie 3. |
Sierpnia 1 2018 | wersja 2.1 zawiera funkcję obsługi uprawnień do „wyświetlania” modelu. |
2021 | Usunięto obsługę Django 3.0 i dodano obsługę Django 3.2 |
Teraz, w tym samouczku Django dla początkujących, poznajmy funkcje Django.
Cechy Django
Poniżej znajdują się funkcje Django:
- Pomaga zdefiniować wzorce adresów URL w aplikacji
- Prosty, ale potężny system adresów URL
- Wbudowany system uwierzytelniania
- Baza danych w języku programowania zorientowanego obiektowo, oferująca najlepsze w swojej klasie przechowywanie i wyszukiwanie danych
- Funkcja automatycznego interfejsu administratora umożliwia dodawanie, edytowanie i usuwanie elementów. Panel administracyjny możesz dostosować do swoich potrzeb.
- Struktura pamięci podręcznej zawiera wiele mechanizmów pamięci podręcznej.
Teraz w tym samouczku poświęconym frameworkowi Django dowiemy się o cechach Django.
Charakterystyka Django
Oto główne cechy Django:
- Luźno powiązane — Django pomaga uniezależnić każdy element stosu od pozostałych.
- Less code- Zapewnia efektywny rozwój
- Nie powtarzane – Wszystko powinno być opracowane dokładnie w jednym miejscu, a nie powtarzane od nowa
- Szybki rozwój – Django oferuje szybki i niezawodny rozwój aplikacji.
- Spójny projekt – Django utrzymuje przejrzysty projekt i ułatwia przestrzeganie najlepszych praktyk tworzenia stron internetowych.
W dalszej części tego samouczka dla początkujących użytkowników Django poznamy architekturę tego pakietu.
Django Archiarchitektura: MVC i MVT
Poniżej znajduje się szczegółowa architektura Django:
Wzór MVC
Mówiąc o aplikacjach, które zapewniają UI (web lub desktop), zazwyczaj mówimy o architekturze MVC. Wzorzec MVC opiera się na modelu, widoku i kontrolerze.
Kurs Model definiuje strukturę danych i dba o zapytania do bazy danych.
Kurs Zobacz definiuje, jakie dane mają być prezentowane i zwraca odpowiedź HTTP.
Kurs kontroler to ta część aplikacji, która obsługuje interakcję z użytkownikiem.
Wzorzec Django MVC-MVT
Model-View-Template (MVT) to inna koncepcja w porównaniu do MVC. Główną różnicą między tymi dwoma wzorcami architektonicznymi jest to, że sam Django zarządza częścią kontrolera (kod oprogramowania, który kontroluje interakcje między modelem a widokiem). Szablon jest plikiem HTML, który jest mieszany z plikiem Django Template Language, zwanym również DTL.
Poniższy diagram pokazuje, jak wszystkie komponenty wzorca MVT współdziałają ze sobą, aby spełnić specyficzne żądanie użytkownika.
Jak widać na powyższym diagramie, użytkownik żąda zasobu do Django. Django pełni rolę kontrolera i sprawdza dostępny zasób w adresie URL.
W przypadku map URL wywoływany jest widok, który współdziała z modelem i szablonem. Następnie Django odpowiada użytkownikowi i jako odpowiedź wysyła szablon.
Teraz, w tej serii tutoriali Django dla początkujących, dowiemy się o komponentach Django.
Komponenty Django
Forma
Django posiada potężną bibliotekę formularzy, która obsługuje renderowanie formularzy jako HTML. Biblioteka pomaga w sprawdzaniu poprawności przesłanych danych i konwertowaniu ich do formatu Python rodzaje.
Uwierzytelnianie
Obsługuje konta użytkowników, grupy, sesje użytkowników oparte na plikach cookie itp.
Admin
Odczytuje metadane z Twoich modeli, aby zapewnić solidny interfejs, którego można używać do zarządzania treścią w Twojej witrynie.
Umiędzynarodowienie
Django umożliwia tłumaczenie tekstu na różne języki oraz formatowanie dat, godzin, liczb i stref czasowych zależne od ustawień regionalnych.
Bezpieczeństwo
Django zapewnia ochronę przed następującymi atakami:
- Fałszerstwo żądań między lokacjami (CSRF)
- Cross-site scripting
- SQL injection
- Clickjacking
- Zdalne wykonanie kodu
Znane firmy korzystające z Django
Oto firmy korzystające z Django:
- BitBucket
- Disqus
- NASA
- PBS (nadawanie publiczne)
- Mozilla
- The Washington Post
- NY Times
- LA Times
- Guardiana National Geographic
- Discovery Channel
Wady korzystania z Django
- Proces nie może obsługiwać wielu żądań jednocześnie.
- Django jest narzędziem bardzo monolitycznym.
- Komponenty są wdrażane jednocześnie, co może powodować zamieszanie.
- Znajomość pełnego systemu potrzebnego do pracy na Django
- Sprawia, że komponenty aplikacji internetowych są ściśle powiązane
- Do drobnych zadań potrzebne jest długie programowanie.
Podsumowanie
- Django to framework do tworzenia stron internetowych dla Python który oferuje standardową metodę szybkiego i skutecznego tworzenia stron internetowych.
- Django zostało założone przez Adian Holovaty i Simona Willisona jako projekt wewnętrzny w gazecie Lawrence Journal-World w 2003 roku
- Django pomaga udokumentować API za pomocą wyniku HTML.
- Django pozwala dostosować panel administracyjny do własnych potrzeb.
- Django pomaga uniezależnić każdy element stosu od pozostałych.
- Główną różnicą pomiędzy wzorcami architektonicznymi MVC i MVT jest to, że Django samo zarządza częścią kontrolera.
- Podstawowymi komponentami architektury Django są: formularz, uwierzytelnianie, administracja, internacjonalizacja, bezpieczeństwo.
- Bitbucket, DISQUS, NASA, Pinterest, Instagram, Mozilla itp. używają Django
- Największą wadą Django jest to, że nie potrafi obsługiwać wielu żądań jednocześnie.