Django (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
wip
 
(183 versioni intermedie di 98 utenti non mostrate)
Riga 1:
{{Software
{{WIP|Fstab}}
|Nome = Django
'''Django''' è un [[framework]] [[open source]] per lo sviluppo di [[applicazione|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.91, e la compatibilità all'indietro non e' garantita fino alla release 1.0.
|Logo = Django logo.png
|Screenshot =
|Didascalia =
|Sviluppatore = Django Software Foundation
|UltimaVersione =
|DataUltimaVersione =
|SistemaOperativo = Multipiattaforma
[[es:Django|Genere = web framework]]
|Licenza = [[Licenza BSD]]
|Lingua =
|SoftwareLibero = sì
}}
 
'''Django''' è un [[web framework]] con licenza [[open source]] per lo sviluppo di [[applicazione web|applicazioni web]], scritto in linguaggio [[Python]], seguendo il paradigma "Model-Template-View".
==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: [http://www.ljworld.com/ The Lawrence Journal-World], [http://www.lawrence.com/ lawrence.com] e [http://www.kusports.com/ KUsports.com]. Django is named for [[jazz]] guitarist [[Django Reinhardt]].
 
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 distribuito con una [[Licenze BSD|licenza BSD]] a luglio [[2005]]. Alcuni siti noti che utilizzano questo [[framework]] sono attualmente [[Pinterest]],<ref>[https://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] {{Webarchive|url=https://web.archive.org/web/20120208002537/https://developer.mozilla.org/en/Python#Use_of_Python_at_Mozilla |date=8 febbraio 2012 }}.</ref> [[The Washington Times]],<ref>[https://opensource.washingtontimes.com/ Home<!-- Titolo generato automaticamente -->] {{Webarchive|url=https://web.archive.org/web/20160315021941/http://opensource.washingtontimes.com/ |data=15 marzo 2016 }}.</ref> [[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|accesso=21 giugno 2013|dataarchivio=14 giugno 2013|urlarchivio=https://web.archive.org/web/20130614003432/http://fearlessflyer.com/2009/11/20-creative-websites-running-django/|urlmorto=sì}}</ref>, [[Bitbucket]],<ref name="top">{{cita web |url=https://www.linkedin.com/pulse/top-10-sites-built-django-framework-vladimir-bogdanov |titolo=Top 10 sites built with Django Framework |autore=Vladimir Bogdanov |accesso=27 agosto 2025}}</ref>, [[NASA]]<ref name="top"/>
Django's background in managing news sites is evident in its design, as it provides a number of features which facilitate the rapid development of content-oriented websites. For example, rather than requiring developers to build controllers and views for administration areas of a site, Django provides a built-in content-administration application which can be included as part of any Django-powered site and which can manage multiple Django-powered sites from one installation; the administrative application allows for the creation, updating and deleting of content objects with full logs of actions performed on each, and provides an interface for the management of users and user groups (including assignment of permissions).
 
== Introduzione e funzionalità ==
The main Django distribution also bundles applications which provide a comment system; tools for syndicating content via [[RSS (file format)|RSS]] and/or [[Atom (standard)|Atom]]; "flat pages" which allow for pages of content to be managed without the need to write controllers or views for those pages; and URL redirection capabilities.
Come [[Ruby on Rails]], un'altro popolare [[framework]], Django è stato utilizzato internamente per diverso tempo prima di essere rilasciatodistribuito pubblicamente;. e' statoFu sviluppato da [[Adrian Holovaty]], [[Simon Willison]], [[Jacob Kaplan-Moss]] e [[Wilson Miner]] mentre lavoravano alla World Company, e venne utilizzato inizialmenteper nellala gestione di tre siti di notizie: [http://www.ljworld.com/ ''The Lawrence Journal-World]'', [http://www.''lawrence.com/ lawrence.com]'' e [http://www.kusports.com/ ''KUsports.com]''. È stato chiamato Django isin namedomaggio foral chitarrista [[jazz]] guitarist [[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 le 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 con 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).
Other features of Django include:
 
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.
* An [[object-relational mapping|object-relational mapper]].
* "Pluggable" applications which can be installed into any Django-powered site.
* A robust [[database]] [[Application Programming Interface|API]].
* A built-in "generic views" system which does away with the need to write logic for certain common tasks.
* An extensible tag-based [[template]] system with template inheritance.
* A [[regular expression|regular-expression]]-based [[URL]] dispatcher.
* A "middleware" system for the development of additional features; for example, middleware components which provide [[caching]], output compression, URL [[normalization]], [[CSRF]] protection and session support are included in the main Django distribution.
* Support for [[internationalization]], including built-in translations of the administrative application's interface into a variety of languages.
* Built-in documentation accessible via the administrative application (including automatically-generated documentation of models and template tag libraries added by applications).
 
Altre funzionalità incluse:
While Django is influenced heavily by the Model-View-Controller philosophy of development, its developers publicly state that they do not feel bound to strictly observe any particular paradigm, preferring instead to do "what feels right" to them. As a result, for example, what would be called the "controller" in a "true" MVC framework is, in Django, called the "view", and what would be called the "view" is called the "template".
* Astrazione del database relazionale ad oggetti.
* Possibilità di installare funzionalità attraverso [[Plugin (informatica)|plugin]].
* A robust [[database]]Robusta [[Application Programming Interface|API]] per la gestione del [[database]].
* Sistema di "view generiche" che evitano la stesura di codice ripetitivo per determinati casi comuni.
* Sistema di [[template]] basato su [[tag (markup)|tag]] con [[ereditarietà]] dei template.
* Gestore di URL basate su [[espressione regolare|espressioni regolari]].
* Sistema "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 [[localizzazione (software)|localizzazione]], incluse traduzioni dell'interfaccia amministrativa, in molte lingue.
* Inclusa documentazione accessibile dall'interfaccia amministrativa (compresa documentazione automaticamente generata dai modelli e librerie template aggiunte dalle applicazioni).
* Sistema di gestione degli utenti e loro autenticazione nell'applicazione Web.
* Sistema 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 in Django è chiamato "''view''" mentre ciò che dovrebbe essere chiamato "''view''" è chiamato ''"template".''
==Server arrangements==
Django can run on [[Apache HTTP Server|Apache]] under [[mod_python]], or under any [[WSGI]]-compliant web server. Django also includes the ability to launch a [[FastCGI]] server, enabling use behind any web server which supports FastCGI.
 
== Supporto server ==
The following databases are officially supported for use with Django:
Django può essere usato con [[Apache HTTP Server|Apache]], [[nginx]] usando il supporto di [[WSGI]], oppure Cherokee grazie al modulo Python "flup".<ref>[https://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/#cherokee-setup Django documentation of deployment Documentazione ufficiale per il deploy] {{webarchive|url=https://web.archive.org/web/20120111101846/https://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/ |data=11 gennaio 2012 }}.</ref> Può inoltre usare un server [[FastCGI]], per esempio [[Lighttpd]] o Hiawatha. Può anche essere usato con qualunque altro server standard [[WSGI]].<ref>[https://docs.djangoproject.com/en/1.3/howto/deployment/modwsgi/ Come usare Django con Apache e mod_wsgi] {{webarchive|url=https://web.archive.org/web/20130308055856/https://docs.djangoproject.com/en/1.3/howto/deployment/modwsgi/ |data=8 marzo 2013 }}.</ref>
 
Django supporta in modo completo e multipiattaforma quattro tipi di database: [[PostgreSQL]], [[MySQL]], [[SQLite]] e [[Oracle Database|Oracle]]. [[Microsoft SQL Server]] può essere usato solo in ambiente Windows,<ref>[https://bitbucket.org/Manfre/django-mssql/src django-mssql Django e MSSQL].</ref> mentre esistono backend esterni simili per [[IBM DB2]],<ref>{{Cita web|url=https://code.google.com/p/ibm-db/|titolo=ibm-db
* [[PostgreSQL]]
Python support for IBM DB2 and IBM Informix|accesso=13 settembre 2013}}</ref> [[SQL Anywhere]]<ref>{{Cita web|url=https://code.google.com/p/sqlany-django/|titolo=sqlany-django - SQL Anywhere Database Backend for Django|accesso=13 settembre 2013}}</ref> e [[Firebird SQL]].<ref>{{Cita web|url=https://code.google.com/p/django-firebird/|titolo=django-firebird - Firebird database backend for Django|accesso=13 settembre 2013}}</ref> Inoltre esiste un [[fork (sviluppo software)|fork]] chiamato django-nonrel<ref>{{Cita web|url=http://www.allbuttonspressed.com/projects/django-nonrel|titolo=Django-nonrel - NoSQL support for Django|accesso=13 settembre 2013}}</ref> che supporta database [[NoSQL]], come per esempio [[MongoDB]] e il datastore di [[Google App Engine]].
* [[MySQL]]
* [[SQLite]]
 
Django può inoltre essere usato insieme a [[Jython]]<ref>[https://code.google.com/p/django-jython/ django-jython].</ref> con qualunque server applicativo [[Java EE]], come per esempio [[GlassFish]] o [[JBoss]].
Adapters for [[Microsoft SQL Server]] and [[Oracle database|Oracle]] are under development, but are still experimental.
 
[[Google App Engine]] prevede il supporto per Django nella versione 1.x.x<ref>[https://code.google.com/appengine/articles/django-nonrel.html Running Pure Django Projects on Google App Engine].</ref> come uno dei framework integrati.
==External links==
*[http://www.djangoproject.com Django Project home page]
*[http://code.djangoproject.com/ Django community wiki and code repository]
 
== Note ==
<references />
 
== Altri progetti ==
[[cs:Django webový framework]]
{{interprogetto}}
[[es:Django web framework]]
 
[[fr:Django]]
== Collegamenti esterni ==
[[ru:Django]]
* {{Collegamenti esterni}}
* {{cita web|https://www.djangoproject.com|Home page del progetto Django|lingua=en}}
* {{cita web|http://bitnami.org/stack/djangostack|All-in-one installer for Django framework|lingua=en}}
* {{cita web|https://code.djangoproject.com/|Wiki della comunità Django e applicativi scritti per Django|lingua=en}}
* {{cita web|http://www.djangobook.com|Django Book|lingua=en}}
* {{cita web|1=http://djangosearch.com/|2=Django search engine|lingua=en|accesso=14 dicembre 2006|urlarchivio=https://web.archive.org/web/20070113073337/http://djangosearch.com/|dataarchivio=13 gennaio 2007|urlmorto=sì}}
* {{cita web|https://www.djangosnippets.org/|Django snippets|lingua=en}}
 
{{Framework per applicazioni web}}
{{Portale|internet|Software libero|telematica}}
 
[[Categoria:Framework per applicazioni web]]