Django (informatica)

framework per Python
Versione del 31 gen 2007 alle 20:56 di CruccoBot (discussione | contributi) (Sistemazione automatica della disambigua: Apache)

Django è un framework open source per lo sviluppo di applicazioni web, scritto in linguaggio Python, seguendo il pattern Model-View-Controller. Venne concepito inizialmente per gestire diversi siti di notizie per la World Company di Lawrence, Kansas, e venne rilasciato sotto una licenza BSD a luglio 2005. Al momento Django è alla versione 0.95.1, e la compatibilità all'indietro non e' garantita fino alla release 1.0.

Introduzione e funzionalità

Come Ruby on Rails, un altro popolare framework, Django è stato utilizzato per diverso tempo prima di essere rilasciato pubblicamente; e' stato sviluppato da Adrian Holovaty, Simon Willison, Jacob Kaplan-Moss e Wilson Miner mentre lavoravano alla World Company, e venne utilizzato inizialmente nella gestione di tre siti di notizie: The Lawrence Journal-World, lawrence.com e KUsports.com. Django è il nome del chitarrista jazz Django Reinhardt.

L'orientamento che ha Django nella gestione dei siti di notizie è evidente nel suo design, poiché fornisce un certo numero di funzionalità che facilitano lo sviluppo rapido di applicazioni per la gestione di contenuti. Per esempio, invece che richiedere sviluppatori per la realizzazione di controllers e views per aree di amministrazione di un sito, Django fornisce una soluzione integrata di amministrazione dei conenuti che può essere inclusa come parte di ogni sito basato su Django e che può gestire molti siti Django da una unica installazione. L'applicazione per l'amministrazione permette di creare, aggiornare e eliminare contenuti rappresentati da oggetti tenendo traccia di tutte le operazioni effettuate e fornisce un'interfaccia per la gestione di utenti e gruppi di utenti (inclusa la gestione dei permessi).

La distribuzione principale di Django viene fornita con applicazioni che forniscono un sistema di commenti; funzionalità per la creazione di feed RSS e/o Atom, "pagine semplici" che permettono di essere gestite senza dover scrivere un controller o una view appositi, e funzionalità di redirezione di URL.

Altre funzionalità incluse:

  • Astrazione del database relazionale ad oggetti.
  • Possibilità di installare funzionalità "plug-in".
  • Una robusta API per la gestione del database.
  • Un sistema di "view generiche" che permette di saltare la stesura di codice per determinati casi comuni.
  • Un sistema di template basato su tag con ereditarietà dei template.
  • Un gestore di URL basate su espressioni regolari.
  • Un sistema "middleware" per lo sviluppo di funzionalità aggiuntive; ad esempio, componenti middleware che forniscono caching, compressione dell'output, normalizzazione dell'output, protezione CSRF e supporto per la sessione sono inclusi nella distributione principale di Django.
  • Supporto per internazionalizzazione, incluse traduzioni della interfaccia amministrativa in svariate lingue.
  • Inclusa documentazione accessibile dall'interfaccia amministrativa (compresa documentazione automaticamente generata dai modelli e librerie template aggiunte dalle applicazione).

Mentre Django è influenzato pesantemente dalla filosofia di sviluppo Model-View-Controller, i suoi sviluppatori dichiarano pubblicamente che non si sentono in dovere di seguire un particolare paradigma di sviluppo preferendo, invece semplicemente "ciò che sembra giusto". Come risultato, ad esempio, ciò che sarebbe chiamato il "controller" in un "vero" framework MVC è chiamato, in Django, "view", e ciò che dovrebbe essere chiamato "view" è chiamato "template".

Supporto server

Django è supportato dal server HTTP Apache se questo include mod_python, o sotto qualsiasi server web WSGI. Django include la possibilità di lanciare un server FastCGI, permettendone l'uso da qualsiasi server che supporta FastCGI.

I seguenti database sono supportati ufficialmente da Django:

Supporto per Microsoft SQL Server e Oracle è sperimentale e in via di sviluppo.

Risorse esterne