Samouczek Django: Funkcje, Architechura i historia
โก Inteligentne podsumowanie
Django to darmowy, otwarty kod ลบrรณdลowy Python platforma internetowa oparta na wzorcu model-widok-szablon, umoลผliwiajฤ ca szybkie tworzenie bezpiecznych, skalowalnych witryn internetowych opartych na bazie danych dziฤki wielokrotnego uลผytku komponentom, automatycznemu interfejsowi administracyjnemu i projektowi uwzglฤdniajฤ cemu doลฤ czone baterie.

Django obsลuguje niektรณre z najwiฤkszych witryn w sieci, a jednoczeลnieping Szybki i zorganizowany codzienny rozwรณj. Zanim przyjrzymy siฤ jego funkcjom, architekturze i historii, poniลผsze sekcje rozpoczynajฤ siฤ od podstaw frameworkรณw internetowych i tego, co wyrรณลผnia Django.
Podsumowanie samouczka Django
Ten samouczek Django obejmuje wszystkie podstawowe zagadnienia od podstaw. Poznasz w nim takie pojฤcia, jak: czym jest Django, jego historia, funkcje, charakterystyka frameworka Django, komponenty Django, jego zalety i wady i wiele wiฤcej.
Zanim nauczysz siฤ jฤzyka Django, musimy zrozumieฤ:
Co to jest framework sieciowy?
Framework internetowy to biblioteka kodu, ktรณra pomaga w tworzeniu elastycznych, skalowalnych i ลatwych w utrzymaniu dynamicznych witryn internetowych, aplikacji internetowych lub usลug internetowych. Rรณลผne frameworki internetowe obejmujฤ Zend for PHP, Ruby on Rails dla Ruby i innych.
Co to jest Django?
Django to framework do tworzenia stron internetowych dla Python Oferuje standardowe metody szybkiego i efektywnego tworzenia stron internetowych. Gลรณwnym celem tego zaawansowanego frameworka internetowego jest tworzenie zลoลผonych witryn internetowych opartych na bazie danych. Pomaga on w budowaniu i utrzymywaniu wysokiej jakoลci aplikacji internetowych. Umoลผliwia on pลynny i szybki proces rozwoju, oszczฤdzajฤ c czas.
Dlaczego Django? Kluczowe zalety Django
Oto gลรณwne zalety Django:
- Django jest ลatwy 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 uliczny.
- Django jest wykorzystywany do budowy wszelkiego rodzaju systemรณw zarzฤ dzania treลciฤ , sieci spoลecznoลciowych, a takลผe platform do obliczeล naukowych.
- Django umoลผliwia kompleksowe testowanie aplikacji.
- Pomaga dokumentowaฤ API za pomocฤ danych wyjลciowych w formacie HTML.
- Struktura REST zapewnia bogate wsparcie dla kilku protokoลรณw uwierzytelniania.
- Oferuje 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 Adriana Holovatyโego i Simona Willisona jako wewnฤtrzny projekt gazety Lawrence Journal-World. |
| Lipiec 2005 | Utwรณr wydano w lipcu 2005 r. pod tytuลem โDjangoโ, nazwanym na czeลฤ gitarzysty jazzowego Django Reinhardta. |
| Czerwiec 2008 | Oลwiadczono, ลผe oprogramowanie Django Foundation (DSF) bฤdzie utrzymywaฤ Django. |
| 29 July 2009 | Wersja Django 1.1 zostaลa wydana z nowymi funkcjami, takimi jak agregaty i testy oparte na transakcjach. |
| 17 maja 2010 roku | Zostaลa wydana wersja Django 1.2. Aktualizacja oferowaลa funkcje takie jak wiele baz danych i zaplecze poczty e-mail, a takลผe usprawnienia dotyczฤ ce sesji i plikรณw cookie. |
| Marzec 23 2011 | Wersja 1.3 wprowadziลa nowe funkcje, takie jak widoki oparte na klasach i pliki statyczne. |
| Marzec 23 2012 | Wersja 1.4 zostaลa wydana z nowymi funkcjami, takimi jak strefy czasowe i moลผliwoลฤ testowania w przeglฤ darce. |
| Luty 26 2013 | Wersja 1.5 zawieraลa: Python 3 funkcje wsparcia i konfigurowalnego modelu uลผytkownika. |
| Listopada 6 2013 | Wersja 1.6 zostaลa wzbogacona o funkcje zarzฤ dzania transakcjami w bazie danych i pulowania poลฤ czeล. |
| 2 wrzeลnia 2014 | Wersja 1.7 wprowadziลa nowe funkcje, takie jak ลadowanie aplikacji, migracje i konfiguracja. |
| Kwiecieล 1 2015 | Zapewniono natywne wsparcie dla 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 PostgreSQL zostaลa uruchomiona. |
| Kwiecieล 4 2017 | Wersja 1.11 staลa siฤ ostatniฤ wersjฤ obsลugujฤ cฤ Python 2.7. |
| 2 grudzieล 2017 | Wersja 2.0 staลa siฤ pierwszฤ Python Wersja dostฤpna tylko w wydaniu 3. |
| Sierpnia 1 2018 | Wersja 2.1 wprowadziลa funkcje obsลugi uprawnieล โwidokuโ modelu. |
| 2021 | Usuniฤto obsลugฤ Django 3.0 i dodano obsลugฤ Django 3.2. |
W tym samouczku dla poczฤ tkujฤ cych dotyczฤ cym Django zapoznamy siฤ z funkcjami programu.
Cechy Django
Poniลผej znajdujฤ siฤ funkcje Django:
- Pomaga zdefiniowaฤ wzorce dla URLw swojej aplikacji.
- Proste, ale skuteczne URL pomimo napiฤtego harmonogramu
- Wbudowany system uwierzytelniania.
- Baza danych jฤzyka programowania obiektowego, oferujฤ ca najlepsze w swojej klasie przechowywanie i wyszukiwanie danych.
- Funkcja automatycznego interfejsu administratora umoลผliwia dodawanie, edycjฤ i usuwanie elementรณw. Moลผesz dostosowaฤ panel administracyjny do swoich potrzeb.
- Struktura pamiฤci podrฤcznej obejmuje wiele mechanizmรณw pamiฤci podrฤcznej.
W tym samouczku dotyczฤ cym frameworka Django poznamy cechy charakterystyczne frameworka Django.
Charakterystyka Django
Oto gลรณwne cechy Django:
- Luลบno powiฤ zane โ Django pomaga uniezaleลผniฤ kaลผdy element stosu od pozostaลych.
- Less kod โ Zapewnia efektywny rozwรณj.
- Nie powtรณrzono โ Wszystko powinno byฤ rozwijane w dokลadnie jednym miejscu, a nie powtarzane od nowa.
- Szybki rozwรณj โ Django oferuje szybkie i niezawodne tworzenie aplikacji.
- Spรณjny projekt โ Django charakteryzuje siฤ przejrzystym designem i uลatwia stosowanie 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:
Django Architektura
Wzรณr MVC
Mรณwiฤ c o aplikacjach, ktรณre zapewniajฤ interfejs uลผytkownika (internetowy lub stacjonarny), zazwyczaj mรณwimy o architekturze MVC. Wzorzec MVC opiera siฤ na modelu, widoku i kontrolerze.
Model definiuje strukturฤ danych i zajmuje siฤ wykonywaniem zapytaล do bazy danych.
Zobacz definiuje, jakie dane majฤ byฤ prezentowane i zwraca odpowiedลบ HTTP.
kontroler jest czฤลciฤ aplikacji, ktรณra obsลuguje interakcjฤ uลผytkownika.
Wzorzec Django MVC-MVT
Model-Widok-Szablon (MVT) to inna koncepcja niลผ MVC. Gลรณwnฤ rรณลผnicฤ miฤdzy tymi dwoma wzorcami architektonicznymi jest to, ลผe sam Django zarzฤ dza czฤลciฤ kontrolera (kodem oprogramowania, ktรณry kontroluje interakcje miฤdzy modelem a widokiem). Szablon to plik HTML poลฤ czony z plikiem Django Template Language, zwanym rรณwnieลผ DTL.
Poniลผszy diagram pokazuje, w jaki sposรณb wszystkie komponenty wzorca MVT oddziaลujฤ na siebie, aby obsลuลผyฤ konkretne ลผฤ danie uลผytkownika.
MVT Architektura
Jak widaฤ na powyลผszym diagramie, uลผytkownik ลผฤ da zasobu od Django. Django dziaลa jako kontroler i sprawdza dostฤpnoลฤ zasobu w URL.
Jeลli URL W przypadku map wywoลywany jest widok, ktรณry wchodzi w interakcjฤ z modelem i szablonem. Nastฤpnie Django odpowiada uลผytkownikowi i wysyลa szablon jako odpowiedลบ.
W tej serii samouczkรณw Django dla poczฤ tkujฤ cych poznamy komponenty 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
Zarzฤ dza kontami uลผytkownikรณw, grupami, sesjami uลผytkownikรณw opartymi na plikach cookie i nie tylko.
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.
Ochrona
Django zapewnia zabezpieczenia 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
- The New York Times
- Los Angeles Times
- The Guardian
- National Geographic
- Discovery Channel
Wady korzystania z Django
Oto kilka wad korzystania z Django:
- Pojedynczy proces nie jest w stanie obsลuลผyฤ wielu ลผฤ daล jednoczeลnie.
- Django jest bardzo monolitycznym narzฤdziem.
- Komponenty sฤ wdraลผane jednoczeลnie, co moลผe powodowaฤ zamieszanie.
- Do pracy z Django konieczna jest znajomoลฤ caลego systemu.
- Zapewnia ลcisลe powiฤ zanie komponentรณw aplikacji sieciowej.
- Do drobnych zadaล potrzebne jest dลugie programowanie.


