Vés al contingut

Django (marc web)

De la Viquipèdia, l'enciclopèdia lliure
Django
Modifica el valor a Wikidata
Modifica el valor a Wikidata
Tipusentorn de treball per a aplicacions web Modifica el valor a Wikidata
Versió inicial2004 Modifica el valor a Wikidata
Versió estable
5.2 (2 abril 2025) Modifica el valor a Wikidata
Llicènciallicència BSD de 3 clàusules Modifica el valor a Wikidata
EpònimDjango Reinhardt Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiumultiplataforma Modifica el valor a Wikidata
Escrit enPython Modifica el valor a Wikidata
Biblioteca
d'interfície d'usuari
interfície d'usuari web Modifica el valor a Wikidata
Equip
Desenvolupador(s)Django Software Foundation (en) Tradueix Modifica el valor a Wikidata
Més informació
Lloc webdjangoproject.com (anglès) Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata
Free Software DirectoryDjango Modifica el valor a Wikidata
Id. Subredditdjango Modifica el valor a Wikidata

GitHub: django
X: djangoproject Mastodon: django@fosstodon.org Modifica el valor a Wikidata

Django[1] és un marc web gratuït i de codi obert basat en Python que s'executa en un servidor web. Segueix el patró arquitectònic model–template–views (MTV).[2][3] El manté la Django Software Foundation (DSF), una organització independent establerta als EUA com a 501(c)(3) sense ànim de lucre.

L'objectiu principal de Django és facilitar la creació de llocs web complexos basats en bases de dades. El marc posa l'accent en la reutilització i la "connectabilitat" dels components, menys codi, baix acoblament, desenvolupament ràpid i el principi de no repetir-se.[4] Python s'utilitza a tot arreu, fins i tot per a la configuració, els fitxers i els models de dades. Django també proporciona una interfície administrativa opcional de creació, lectura, actualització i supressió que es genera de manera dinàmica mitjançant la introspecció i es configura mitjançant models d'administració.

Alguns llocs coneguts que utilitzen Django inclouen Instagram,[5] Mozilla,[6] Disqus,[7] Bitbucket,[8] Nextdoor,[9] i Clubhouse.[10]

Història

[modifica]

Django es va crear a la tardor de 2003, quan els programadors web del diari Lawrence Journal-World, Adrian Holovaty i Simon Willison, van començar a utilitzar Python per crear aplicacions. Jacob Kaplan-Moss va ser contractat al principi del desenvolupament de Django poc abans que acabés les pràctiques de Willison.[11] Va ser llançat públicament sota una llicència BSD el juliol de 2005. El marc va rebre el nom del guitarrista Django Reinhardt.[12] Holovaty és un guitarrista de jazz romaní inspirat en part en la música de Reinhardt.[13]

El juny de 2008, es va anunciar que una nova Django Software Foundation (DSF) mantindria Django en el futur.[14]

Característiques

[modifica]

Components

[modifica]
Captura de pantalla de la interfície d'administració de Django per modificar un compte d'usuari

Tot i tenir la seva pròpia nomenclatura, com ara anomenar els objectes invocables que generen les "visualitzacions" de les respostes HTTP, [15] el marc bàsic de Django es pot veure com una arquitectura MVC.[16] Consisteix en un mapeador relacional d'objectes (ORM) que media entre els models de dades (definits com a classes Python) i una base de dades relacional ("Model"), un sistema per processar sol·licituds HTTP amb un sistema de plantilles web ("Visualització") i un distribuïdor d'URL basat en expressions regulars ("Controlador").

També s'inclouen al marc bàsic:

  • un servidor web lleuger i autònom per al desenvolupament i proves
  • un sistema de serialització i validació de formularis que es pot traduir entre formularis HTML i valors adequats per a l'emmagatzematge a la base de dades
  • un sistema de plantilles que utilitza el concepte d'herència manllevat de la programació orientada a objectes
  • un marc de memòria cau que pot utilitzar qualsevol dels diversos mètodes de memòria cau
  • suport per a classes de middleware que poden intervenir en diverses etapes de processament de sol·licituds i realitzar funcions personalitzades
  • un sistema de distribuïdor intern que permet que els components d'una aplicació es comuniquin esdeveniments entre ells mitjançant senyals predefinits
  • un sistema d'internacionalització, que inclou traduccions dels components propis de Django a una varietat d'idiomes
  • un sistema de serialització que pot produir i llegir representacions XML i/o JSON de les instàncies del model Django
  • un sistema per ampliar les capacitats del motor de plantilles
  • una interfície per al marc de prova d'unitat integrat de Python

Aplicacions agrupades

[modifica]

La distribució principal de Django també inclou una sèrie d'aplicacions al seu paquet "contrib", que inclouen:

Referències

[modifica]
  1. «FAQ: General - Django documentation - Django» (en anglès). [Consulta: 30 abril 2016].
  2. «FAQ: General - Django documentation - Django» (en anglès). [Consulta: 30 abril 2016].
  3. Adrian Holovaty, Jacob Kaplan-Moss. The Django Book (en anglès). 
  4. «Design Philosophies» (en anglès). Django. [Consulta: 18 març 2018].
  5. «What Powers Instagram: Hundreds of Instances, Dozens of Technologies» (en anglès). Instagram Engineering.
  6. «Python» (en anglès). Mozilla Developer Network. Arxivat de l'original el 8 February 2012. [Consulta: 30 abril 2016].
  7. Robenolt, Matt. «Scaling Django to 8 Billion Page Views» (en anglès). blog.disqus.com.
  8. «DjangoSuccessStoryBitbucket – Django» (en anglès). Arxivat de l'original el 20 April 2016. [Consulta: 30 abril 2016].
  9. «The anti-Facebook: one in four American neighborhoods are now using this private social network» (en anglès). The Verge, 18-08-2014. [Consulta: 16 juny 2016].
  10. Demi, Luke. «Reining in the thundering herd ⛈ Getting to 80% CPU utilization with Django» (en anglès). Clubhouse Blog, 15-08-2021. [Consulta: 16 agost 2021].
  11. Error: hi ha arxiuurl o arxiudata, però calen tots dos paràmetres.Willison, Simon. «[Simon Willison What is the history of the Django web framework? Why has it been described as "developed in a newsroom"?]» (en anglès). Quora. [Consulta: 18 octubre 2019].
  12. «Introducing Django» (en anglès). The Django Book. Arxivat de l'original el 29 July 2018. [Consulta: 29 juliol 2018].
  13. «Review: Adrian Holovaty's Playful and Precise 'Melodic Guitar Music'» (en anglès). Acoustic Guitar, 12-12-2023. Arxivat de l'original el 30 December 2023.
  14. «Announcing the Django Software Foundation - Weblog - Django» (en anglès). [Consulta: 30 abril 2016].
  15. «FAQ: General - Django documentation - Django» (en anglès). [Consulta: 30 abril 2016].
  16. Adrian Holovaty, Jacob Kaplan-Moss. The Django Book (en anglès). 
  17. «Security in Django» (en anglès). Django Project. [Consulta: 25 març 2013].
  18. Socol, James. «Best Basic Security Practices (Especially with Django)» (en anglès). [Consulta: 25 març 2013].