Django (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: Aggiungo template {{interprogetto}} using AWB
mNessun oggetto della modifica
Riga 17:
}}
 
'''Django''' è un [[web framework]] [[open source]] per lo sviluppo di [[applicazione web|applicazioni web]], scritto in linguaggio [[Python]], seguendo il pattern [[Model-View-Controller]]. Il progetto è sviluppato dalla "Django Software Foundation" (DSF), un'organizzazione indipendente senza scopo di lucro.<ref>[https://www.djangoproject.com/foundation/ Sito istituzionale del progetto]</ref>
Venne concepito inizialmente per gestire diversi siti di notizie per la World Company di [[Lawrence (Kansas)]], e rilasciato con una [[licenza BSD]] a luglio [[2005]].
 
Il progetto è sviluppato dalla "Django Software Foundation" (DSF), un'organizzazione indipendente senza scopo di lucro.<ref>[https://www.djangoproject.com/foundation/ Sito istituzionale del progetto]</ref> Venne concepito inizialmente per gestire diversi siti di notizie per la World Company di [[Lawrence (Kansas)]], e rilasciato con una [[licenza BSD]] a luglio [[2005]].
Nel settembre [[2008]] è stata rilasciata la versione 1.0 del framework, che però non garantisce piena compatibilità con le versioni precedenti.
 
Alcuni siti noti che utilizzano questo [[framework]] sono attualmente [[Pinterest]],<ref>[http://www.quora.com/Pinterest/What-technologies-were-used-to-make-Pinterest Pinterest: Tecnologie alla base di Pinterest]</ref> [[Instagram]],<ref>{{Cita web|url=http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances-dozens-of|titolo=What Powers Instagram: Hundreds of Instances, Dozens of Technologies}}</ref> [[Mozilla Foundation|Mozilla]],<ref>[https://developer.mozilla.org/en/Python#Use_of_Python_at_Mozilla Python | MDN]</ref> [[The Washington Times]],<ref>[http://opensource.washingtontimes.com/ Home<!-- Titolo generato automaticamente -->]</ref> e [[Public Broadcasting Service]].<ref name=20sites>{{Cita web|url=http://fearlessflyer.com/2009/11/20-creative-websites-running-django/|titolo=20 Creative Websites Running Django}}</ref>
 
== Introduzione e funzionalità ==
Come [[Ruby on Rails]], un altro popolare [[framework]], Django è stato utilizzato per diverso tempo prima di essere rilasciato pubblicamente;. è statoFu sviluppato da [[Adrian Holovaty]], [[Simon Willison]], [[Jacob Kaplan-Moss]] e [[Wilson Miner]] mentre lavoravano alla World Company, e venneessendo utilizzato inizialmente nella gestione di tre siti di notizie: The Lawrence Journal-World<ref>[http://www.ljworld.com/ The Lawrence Journal-World]</ref>, lawrence.com<ref>[http://www.lawrence.com/ lawrence.com]</ref> e KUsports.com<ref>[http://www.kusports.com/ KUsports.com]</ref>.
Django è il nome del chitarrista [[jazz]] [[Django Reinhardt]].
 
L'orientamento che ha Django nella gestione dei siti di notizie è evidente dal suo design, poiché fornisce un certo numero di funzionalità che facilitano lo sviluppo rapido di applicazioni per la gestione di contenuti Web. Per esempio, invece che richiedere sviluppatori per la realizzazione di controller e view per aree di amministrazione di un sito, Django fornisce una soluzione integrata di amministrazione dei contenuti che può essere inclusa come parte di ogni sito basato su Django e che può gestire molti siti Django da un'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.
Riga 35 ⟶ 34:
* Astrazione del database relazionale ad oggetti.
* Possibilità di installare funzionalità attraverso [[Plugin (informatica)|plugin]].
* Una robustaRobusta [[Application Programming Interface|API]] per la gestione del [[database]].
* Un sistemaSistema di "view generiche" che permette di evitareevitano la stesura di codice ripetitivo per determinati casi comuni.
* Un sistemaSistema di [[template]] basato su [[tag (markup)|tag]] con [[ereditarietà]] dei template.
* Un gestoreFestore di URL basate su [[espressione regolare|espressioni regolari]].
* Un sistemaSistema "middleware" per lo sviluppo di funzionalità aggiuntive; ad esempio, componenti middleware che forniscono [[caching]], compressione dell'output, [[normalizzazione (informatica)|normalizzazione]] dell'output, protezione [[CSRF]] e supporto per la sessione sono inclusi nella distribuzione principale di Django.
* Supporto per [[internazionalizzazione]], incluse traduzioni dell'interfaccia amministrativa, in svariatemolte lingue.
* Inclusa documentazione accessibile dall'interfaccia amministrativa (compresa documentazione automaticamente generata dai modelli e librerie template aggiunte dalle applicazione).
* Un sistemaSistema di gestione degli utenti e della loro autenticazione nella nell'applicazione Web.
* Un sistemaSistema per la creazione e la validazione di ''form'' [[HTML]].
 
Mentre Django è influenzato fortemente 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, per esempio, ciò che sarebbe chiamato "controller" in un framework MVC classico è chiamato "view" in Django, mentre ciò che dovrebbe essere chiamato "view" è chiamato "template".