Django (framework)

Django
Logo Django
Logo programu
ilustracja
Pierwsze wydanie2005-07-21 21 lipca 2005(dts)[1]
Aktualna wersja stabilna4.1.4
(6 grudnia 2022) [±]
Język programowaniaPython
Rodzajframework WWW
LicencjaBSD
Strona internetowa
Przykładowy panel administracyjny aplikacji Django
Zarządzanie użytkownikami

Djangowolny 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

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

  • 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ł(ang.) 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ż

Inne frameworki Pythona

Odpowiedniki w innych językach

Przypisy

  1. Django 1.0 alpha released!. [dostęp 2010-08-18].
  2. Często zadawane pytania: Ogólne, Dokumentacja Django [dostęp 2019-12-31].
  3. 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.).
  4. What is the technology stack behind Pinterest? | Web Development, www.quora.com [dostęp 2017-11-22] (ang.).
  5. What Powers Instagram: Hundreds of Instances, Dozens of Technologies – Instagram Engineering, instagram-engineering.tumblr.com [dostęp 2017-11-22] (ang.).
  6. Python – Learn web development | MDN, developer.mozilla.org [dostęp 2017-11-22] [zarchiwizowane z adresu 2012-02-08] (ang.).
  7. 20 Creative Websites Running Django: – Fearlessflyer.com, fearlessflyer.com [dostęp 2017-11-22] (ang.).
  8. Home, opensource.washingtontimes.com [dostęp 2017-11-22] (ang.).

Linki zewnętrzne

Media użyte na tej stronie

Django useradmin.png
Autor: Wilson Miner and others., Licencja: BSD
Screenshot of the Django admin interface for modifying a user.
Django admin.png
Autor: Riklaunim, Licencja: CC-BY-SA-3.0
Example Django Admin Panel
Django admin user.png
Autor: Riklaunim, Licencja: CC-BY-SA-3.0
User Management in Django