Django (framework)
Logo programu | |
Pierwsze wydanie | (dts)[1] | 21 lipca 2005
---|---|
Aktualna wersja stabilna | 5.1.1 (3 września 2024) [±] |
Język programowania | Python |
Rodzaj | framework WWW |
Licencja | BSD |
Strona internetowa |
Django – wolny i otwarty framework przeznaczony do tworzenia aplikacji internetowych, napisany w Pythonie. Powstał pod koniec 2003 roku jako ewolucyjne rozwinięcie aplikacji internetowych, tworzonych przez grupę programistów związanych z Lawrence Journal-World. W 2005 roku kod Django został wydany na licencji BSD[2]. Nazwa frameworku pochodzi od gitarzysty Django Reinhardta.
Django realizuje wzorzec architektoniczny model-template-view[3] (pokrewny z MVC).
Wśród dobrze znanych witryn, które używają Django, znajdują się witryny Pinterest[4], Instagram[5], Fundacji Mozilla[6], Public Broadcasting Service[7] i The Washington Times[8].
Historia
[edytuj | edytuj kod]Historia Django rozpoczyna się jesienią 2003 roku, kiedy to programiści gazety Lawrence Journal-World, Adrian Holovaty i Simon Willison, zaczęli używać Pythona do szybkiego tworzenia aplikacji internetowych. W lipcu 2005 roku projekt został opublikowany na licencji BSD. Nazwa Django nawiązuje do słynnego gitarzysty Django Reinhardta.
W czerwcu 2008 roku ogłoszono, że dalszy rozwój frameworka zapewniała będzie nowo utworzona fundacja Django Software Foundation.
Cechy Django
[edytuj | edytuj kod]- Automatycznie generowany i kompletny panel administracyjny, z możliwością dalszego dostosowywania
- Przyjazne adresy dokumentów z możliwością dowolnego ich kształtowania
- Prosty lecz funkcjonalny system szablonów czytelny zarówno dla grafików jak i dla programistów
- Oddzielenie logiki aplikacji (widok), logiki biznesowej (model), wyglądu (szablony) oraz baz danych
- Wsparcie dla wielojęzycznych aplikacji (internacjonalizacja)
- Bardzo duża skalowalność i wydajność pod obciążeniem
- Wydajne systemy cache'owania, obsługa Memcached
- Własny, prosty serwer do testowania aplikacji
- Współpracuje z Apache poprzez WSGI.
- DRY, czyli zasada „nie powtarzaj się” w odniesieniu do tworzenia aplikacji (np. strukturę bazy danych Django generuje ze zwykłych klas Pythona)
- Posiada ORM wysokiego poziomu pozwalający na łatwe i bezpieczne operowania na bazach danych bez użycia SQL
- Wsparcie dla zabezpieczeń przed cross-site request forgery, cross-site scripting, SQL injection, łamania haseł i innych typowych ataków internetowych, większość z nich domyślnie włączona
- Obsługuje następujące bazy danych: PostgreSQL, MySQL, SQLite oraz Oracle
- Rozpowszechniany jest na otwartej licencji BSD
Zobacz też
[edytuj | edytuj kod]Inne frameworki Pythona
[edytuj | edytuj kod]Odpowiedniki w innych językach
[edytuj | edytuj kod]- Ruby on Rails (Ruby)
- Laravel (PHP)
- Express (JavaScript - Node.js)
Przypisy
[edytuj | edytuj kod]- ↑ Django 1.0 alpha released!. [dostęp 2010-08-18].
- ↑ Często zadawane pytania: Ogólne [online], Dokumentacja Django [dostęp 2019-12-31] .
- ↑ Django appears to be a MVC framework, but you call the Controller the “view”, and the View the “template”. How come you don’t use the standard names?. [w:] Django Documentation [on-line]. [dostęp 2016-11-02]. (ang.).
- ↑ What is the technology stack behind Pinterest? | Web Development [online], www.quora.com [dostęp 2017-11-22] (ang.).
- ↑ What Powers Instagram: Hundreds of Instances, Dozens of Technologies – Instagram Engineering [online], instagram-engineering.tumblr.com [dostęp 2017-11-22] (ang.).
- ↑ Python – Learn web development | MDN [online], developer.mozilla.org [dostęp 2017-11-22] [zarchiwizowane z adresu 2012-02-08] (ang.).
- ↑ 20 Creative Websites Running Django: – Fearlessflyer.com [online], fearlessflyer.com [dostęp 2017-11-22] (ang.).
- ↑ Home [online], opensource.washingtontimes.com [dostęp 2017-11-22] (ang.).