[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/wiki20\/2021\/01\/23\/django-web-framework-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/wiki20\/2021\/01\/23\/django-web-framework-wikipedia\/","headline":"Django (Web-Framework) – Wikipedia","name":"Django (Web-Framework) – Wikipedia","description":"before-content-x4 Python-Webframework Django (( JANG-goh;; manchmal stilisiert als Django)[8] ist ein Python-basiertes freies Open-Source-Webframework, das dem MTV-Architekturmuster (Model Template Views)","datePublished":"2021-01-23","dateModified":"2021-01-23","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/wiki20\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/wiki20\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/6\/6d\/Django_useradmin.png\/220px-Django_useradmin.png","url":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/thumb\/6\/6d\/Django_useradmin.png\/220px-Django_useradmin.png","height":"465","width":"220"},"url":"https:\/\/wiki.edu.vn\/wiki20\/2021\/01\/23\/django-web-framework-wikipedia\/","wordCount":4705,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4Python-Webframework Django (( JANG-goh;; manchmal stilisiert als Django)[8] ist ein Python-basiertes freies Open-Source-Webframework, das dem MTV-Architekturmuster (Model Template Views) folgt.[9][10] Es wird von der Django Software Foundation (DSF) unterhalten, einer unabh\u00e4ngigen amerikanischen Organisation, die als gemeinn\u00fctzige Organisation gem\u00e4\u00df 501 (c) (3) gegr\u00fcndet wurde.Das Hauptziel von Django ist es, die Erstellung komplexer, datenbankgesteuerter Websites zu vereinfachen. Das Framework betont die Wiederverwendbarkeit und “Steckbarkeit” von Komponenten, weniger Code, geringe Kopplung, schnelle Entwicklung und das Prinzip, sich nicht zu wiederholen.[11] Python wird durchgehend verwendet, auch f\u00fcr Einstellungen, Dateien und Datenmodelle. Django bietet au\u00dferdem eine optionale administrative Schnittstelle zum Erstellen, Lesen, Aktualisieren und L\u00f6schen, die dynamisch durch Introspektion generiert und \u00fcber Administrationsmodelle konfiguriert wird.Einige bekannte Websites, die Django verwenden, umfassen PBS,[12]Instagram,[13]Mozilla,[14]Die Washington Times,[15]Disqus,[16]Bit Bucket,[17] und nebenan.[18] Table of ContentsGeschichte[edit]Eigenschaften[edit]Komponenten[edit]Geb\u00fcndelte Anwendungen[edit]Erweiterbarkeit[edit]Serveranordnungen[edit]Versionsgeschichte[edit]Entwicklungswerkzeuge mit Django-Unterst\u00fctzung[edit]Ports zu anderen Sprachen[edit]CMS basieren auf Django Framework[edit]Siehe auch[edit]Verweise[edit]Literaturverzeichnis[edit]Externe Links[edit]Geschichte[edit]Django wurde im Herbst 2003 gegr\u00fcndet, als die Webprogrammierer am Lawrence Journal-Welt Die Zeitungen Adrian Holovaty und Simon Willison begannen, Python zum Erstellen von Anwendungen zu verwenden. Jacob Kaplan-Moss wurde fr\u00fch in Djangos Entwicklung eingestellt, kurz bevor Simon Willisons Praktikum endete.[19] Es wurde im Juli 2005 unter einer BSD-Lizenz ver\u00f6ffentlicht. Das Framework wurde nach dem Gitarristen Django Reinhardt benannt.[20]Im Juni 2008 wurde bekannt gegeben, dass eine neu gegr\u00fcndete Django Software Foundation (DSF) Django in Zukunft beibehalten wird.[21]Eigenschaften[edit]Komponenten[edit] Screenshot der Django-Administrationsoberfl\u00e4che zum \u00c4ndern eines Benutzerkontos.Trotz einer eigenen Nomenklatur, z. B. der Benennung der aufrufbaren Objekte, die die HTTP-Antworten generieren, “Ansichten”,[9] Das Kern-Django-Framework kann als MVC-Architektur angesehen werden.[10] Es besteht aus einem objektrelationalen Mapper (ORM), der zwischen Datenmodellen (definiert als Python-Klassen) und einer relationalen Datenbank (“M.odel “), ein System zur Verarbeitung von HTTP-Anfragen mit einem Web-Template-System (“V.iew “) und ein URL-Dispatcher auf Basis regul\u00e4rer Ausdr\u00fccke (“C.ontroller “).Ebenfalls im Kernframework enthalten sind:Ein leichter und eigenst\u00e4ndiger Webserver zum Entwickeln und TestenEin Formularserialisierungs- und -validierungssystem, das zwischen HTML-Formularen und Werten \u00fcbersetzen kann, die f\u00fcr die Speicherung in der Datenbank geeignet sindEin Vorlagensystem, das das Konzept der Vererbung aus der objektorientierten Programmierung verwendetEin Caching-Framework, das eine von mehreren Cache-Methoden verwenden kannUnterst\u00fctzung f\u00fcr Middleware-Klassen, die in verschiedenen Phasen der Anforderungsverarbeitung eingreifen und benutzerdefinierte Funktionen ausf\u00fchren k\u00f6nnenEin internes Dispatchersystem, mit dem Komponenten einer Anwendung Ereignisse \u00fcber vordefinierte Signale miteinander kommunizieren k\u00f6nnenein Internationalisierungssystem, das \u00dcbersetzungen von Djangos eigenen Komponenten in eine Vielzahl von Sprachen umfasstEin Serialisierungssystem, das XML- und \/ oder JSON-Darstellungen von Django-Modellinstanzen erstellen und lesen kannein System zur Erweiterung der Funktionen der Template-Engineeine Schnittstelle zu Pythons integriertem Unit-Test-FrameworkGeb\u00fcndelte Anwendungen[edit]Die Hauptdistribution von Django b\u00fcndelt auch eine Reihe von Anwendungen in ihrem “Contrib” -Paket, darunter:Erweiterbarkeit[edit]Das Konfigurationssystem von Django erm\u00f6glicht das Einf\u00fcgen von Code von Drittanbietern in ein regul\u00e4res Projekt, sofern dieser der wiederverwendbaren App folgt[24] Konventionen. Mehr als 2500 Pakete[25] stehen zur Verf\u00fcgung, um das urspr\u00fcngliche Verhalten des Frameworks zu erweitern und L\u00f6sungen f\u00fcr Probleme bereitzustellen, die das urspr\u00fcngliche Tool nicht gel\u00f6st hat: Registrierung, Suche, API-Bereitstellung und -Verbrauch, CMS usw.Diese Erweiterbarkeit wird jedoch durch die Abh\u00e4ngigkeiten der internen Komponenten verringert. W\u00e4hrend die Django-Philosophie eine lose Kopplung impliziert,[26] Die Vorlagenfilter und Tags setzen eine Engine-Implementierung voraus, und sowohl die mit auth als auch admin geb\u00fcndelten Anwendungen erfordern die Verwendung des internen ORM. Keiner dieser Filter oder geb\u00fcndelten Apps ist f\u00fcr die Ausf\u00fchrung eines Django-Projekts obligatorisch, aber wiederverwendbare Apps h\u00e4ngen in der Regel von ihnen ab. Dies ermutigt Entwickler, den offiziellen Stack weiterhin zu verwenden, um das Apps-\u00d6kosystem voll nutzen zu k\u00f6nnen.Serveranordnungen[edit]Django kann in Verbindung mit Apache, Nginx mit WSGI, Gunicorn oder Cherokee mit flup (einem Python-Modul) ausgef\u00fchrt werden.[27][28] Django bietet auch die M\u00f6glichkeit, einen FastCGI-Server zu starten, der die Verwendung hinter jedem Webserver erm\u00f6glicht, der FastCGI unterst\u00fctzt, wie z. B. Lighttpd oder Hiawatha. Es ist auch m\u00f6glich, andere WSGI-kompatible Webserver zu verwenden.[29] Django unterst\u00fctzt offiziell f\u00fcnf Datenbank-Backends: PostgreSQL, MySQL, MariaDB, SQLite und Oracle. Microsoft SQL Server kann mit django-mssql unter Microsoft-Betriebssystemen verwendet werden.[30] W\u00e4hrend f\u00fcr IBM Db2 \u00e4hnlich externe Backends existieren,[31]SQL \u00fcberall[32] und Firebird.[33] Es gibt eine Abzweigung namens django-nonrel, die NoSQL-Datenbanken wie MongoDB und den Datenspeicher von Google App Engine unterst\u00fctzt.[34]Django kann auch in Verbindung mit Jython auf jedem Java EE-Anwendungsserver wie GlassFish oder JBoss ausgef\u00fchrt werden. In diesem Fall muss django-jython installiert werden, um JDBC-Treiber f\u00fcr die Datenbankkonnektivit\u00e4t bereitzustellen, die auch Funktionen zum Kompilieren von Django in eine f\u00fcr die Bereitstellung geeignete .war-Datei bereitstellen k\u00f6nnen.[35]Google App Engine unterst\u00fctzt Django Version 1.xx.[36] als eines der geb\u00fcndelten Frameworks.Versionsgeschichte[edit]Das Django-Team bestimmt gelegentlich bestimmte Releases als LTS-Releases (Long Term Support).[37] Bei LTS-Versionen werden Sicherheits- und Datenverlustkorrekturen f\u00fcr einen garantierten Zeitraum angewendet, in der Regel mehr als 3 Jahre, unabh\u00e4ngig von der Geschwindigkeit der nachfolgenden Versionen.Ausf\u00fchrungDatum[38]Anmerkungen[39]Alte Version, nicht mehr gepflegt: 0,90[40]16. November 2005Alte Version, nicht mehr gepflegt: 0,91[41]11. Januar 2006“new-admin”Alte Version, nicht mehr gepflegt: 0,95[42]29. Juli 2006“magische Entfernung”Alte Version, nicht mehr gepflegt: 0,96[43]23. M\u00e4rz 2007“newforms”, TestwerkzeugeAlte Version, nicht mehr gepflegt: 1.0[44]3. September 2008API-Stabilit\u00e4t, entkoppelter Admin, UnicodeAlte Version, nicht mehr gepflegt: 1.1[45]29. Juli 2009Aggregate, transaktionsbasierte TestsAlte Version, nicht mehr gepflegt: 1.2[46]17. Mai 2010Mehrere Datenbankverbindungen, CSRF, ModellvalidierungAlte Version, nicht mehr gepflegt: 1.3[47]23. M\u00e4rz 2011Klassenbasierte Ansichten, statische DateienAlte Version, nicht mehr gepflegt: 1.4 LTS[48]23. M\u00e4rz 2012Zeitzonen, beim Testen von Browsern, App-Vorlagen.Alte Version, nicht mehr gepflegt: 1.5[49]26. Februar 2013Python 3-Unterst\u00fctzung, konfigurierbares BenutzermodellAlte Version, nicht mehr gepflegt: 1.6[50]6. November 2013Malcolm Tredinnick gewidmet, Datenbank-Transaktionsmanagement, Verbindungspooling.Alte Version, nicht mehr gepflegt: 1.7[51]2. September 2014Migrationen, Laden und Konfigurieren von Anwendungen.Alte Version, nicht mehr gepflegt: 1,8 LTS[52]1. April 2015Native Unterst\u00fctzung f\u00fcr mehrere Template-Engines. Die Unterst\u00fctzung endete am 1. April 2018Alte Version, nicht mehr gepflegt: 1.9[53]1. Dezember 2015Automatische Passwort\u00fcberpr\u00fcfung. Neues Styling f\u00fcr die Admin-Oberfl\u00e4che.Alte Version, nicht mehr gepflegt: 1.10[54]1. August 2016Volltextsuche nach PostgreSQL. Neue Middleware.Alte Version, nicht mehr gepflegt: 1,11 LTS[55]4. April 2017Letzte Version zur Unterst\u00fctzung von Python 2.7. Die Unterst\u00fctzung endete am 1. April 2020Alte Version, nicht mehr gepflegt: 2.0[56]2. Dezember 2017Erste Version nur f\u00fcr Python 3, vereinfachte URL-Routing-Syntax, mobilfreundlicher Administrator.Alte Version, nicht mehr gepflegt: 2.1[57]1. August 2018Modell “Ansicht” Berechtigung.\u00c4ltere Version, aber immer noch gepflegt: 2.2 LTS[58]1. April 2019Sicherheitsfreigabe. Unterst\u00fctzt bis mindestens April 2022\u00c4ltere Version, aber immer noch gepflegt: 3.0[59]2. Dezember 2019ASGI-Unterst\u00fctzungAktuelle stabile Version: 3.1[60]4. August 2020Asynchrone Ansichten und MiddlewareZuk\u00fcnftige Version: 3.2 LTS[61]April 2021Erweiterte Unterst\u00fctzung bis mindestens April 2024Zuk\u00fcnftige Version: 4.0[61]Dezember 2021Erweiterte Unterst\u00fctzung bis mindestens April 2023Zuk\u00fcnftige Version: 4.1[61]August 2022Erweiterte Unterst\u00fctzung bis mindestens Dezember 2023Zuk\u00fcnftige Version: 4.2 LTS[61]April 2023Erweiterte Unterst\u00fctzung bis mindestens April 2026Zuk\u00fcnftige Version: 5.0[61]Dezember 2023Erweiterte Unterst\u00fctzung bis mindestens April 2025Legende:Alte Version\u00c4ltere Version, noch gepflegtLetzte VersionNeueste Vorschau-VersionZuk\u00fcnftige VersionEntwicklungswerkzeuge mit Django-Unterst\u00fctzung[edit]F\u00fcr die Entwicklung eines Django-Projekts sind keine speziellen Tools erforderlich, da der Quellcode mit jedem herk\u00f6mmlichen Texteditor bearbeitet werden kann. Auf Computerprogrammierung spezialisierte Redakteure k\u00f6nnen jedoch dazu beitragen, die Produktivit\u00e4t der Entwicklung zu steigern, z. B. durch Funktionen wie das Hervorheben der Syntax. Da Django in Python geschrieben ist, sind Texteditoren, die die Python-Syntax kennen, in dieser Hinsicht von Vorteil.Integrierte Entwicklungsumgebungen (IDE) bieten weitere Funktionen wie Debugging, Refactoring und Unit-Tests. Wie bei einfachen Editoren k\u00f6nnen IDEs mit Unterst\u00fctzung f\u00fcr Python von Vorteil sein. Einige auf Python spezialisierte IDEs bieten zus\u00e4tzlich integrierte Unterst\u00fctzung f\u00fcr Django-Projekte, sodass die Verwendung einer solchen IDE bei der Entwicklung eines Django-Projekts zur weiteren Steigerung der Produktivit\u00e4t beitragen kann. Einen Vergleich solcher Python-IDEs finden Sie im Hauptartikel:Es gibt eine halbj\u00e4hrliche Konferenz f\u00fcr Django-Entwickler und -Nutzer mit dem Namen “DjangoCon”, die seit September 2008 stattfindet. Die DjangoCon findet j\u00e4hrlich in Europa im Mai oder Juni statt.[62] w\u00e4hrend eine andere im August oder September in den Vereinigten Staaten in verschiedenen St\u00e4dten stattfindet.[63] Die DjangoCon 2012 fand vom 3. bis 8. September in Washington DC statt. 2013 fand die DjangoCon in Chicago im Hyatt Regency Hotel statt und die Sprints nach der Konferenz wurden im Computer Boot Center Digital Bootcamp veranstaltet.[64] Die DjangoCon US 2014 kehrte vom 30. August bis 6. September nach Portland, OR, zur\u00fcck. Die DjangoCon US 2015 fand vom 6. bis 11. September in Austin, TX, im AT & T Executive Center statt. Die DjangoCon US 2016 fand vom 17. bis 22. Juli in Philadelphia, PA, an der Wharton School der University of Pennsylvania statt.[65]Die DjangoCon US 2017 fand in Spokane, WA, statt.[66] 2018 fand die DjangoCon US in San Diego, CA, statt.[67] Die DjangoCon US 2019 fand vom 22. bis 27. September erneut in San Diego, Kalifornien, statt.Django-Minikonferenzen finden normalerweise jedes Jahr im Rahmen der australischen Python-Konferenz ‘PyCon AU’ statt.[68] Zuvor fanden diese Minikonferenzen statt in:Hobart, Australien, im Juli 2013,Brisbane, Australien, im August 2014 und 2015,Melbourne, Australien im August 2016 und 2017 undSydney, Australien, im August 2018 und 2019.Django hat Benutzergruppen und Meetups auf der ganzen Welt hervorgebracht.[69] Die bemerkenswerteste Gruppe ist die Django Girls Organisation, die in Polen gegr\u00fcndet wurde, jetzt aber Veranstaltungen in 91 L\u00e4ndern hatte.[70][71]Ports zu anderen Sprachen[edit]Programmierer haben das Design der Template-Engine von Django von Python auf andere Sprachen portiert und bieten eine angemessene plattform\u00fcbergreifende Unterst\u00fctzung. Einige dieser Optionen sind direktere Ports. andere, obwohl sie von Django inspiriert sind und ihre Konzepte beibehalten, nehmen sich die Freiheit, von Djangos Design abzuweichen:CMS basieren auf Django Framework[edit]Django als Framework kann ein CMS erstellen. Es gibt jedoch bereits einige CMS, die auf Django basieren. Nachfolgend finden Sie eine Liste einiger CMS, die auf dem Django-Framework basieren:Siehe auch[edit]Verweise[edit]Literaturverzeichnis[edit]Jaiswal, Sanjeev; Kumar, Ratan (22. Juni 2015), Lernen der Django-Webentwicklung (1. Aufl.), Packt, p. 405, ISBN 1783984406Ravindrun, Arun (31. M\u00e4rz 2015), Django Design Patterns und Best Practices (1. Aufl.), Packt, p. 180, ISBN 1783986646Osborn, Tracy (Mai 2015), Hallo Web App (1. Aufl.), Tracy Osborn, p. 142, ISBN 0986365912Bendoraitis, Aidas (Oktober 2014), Webentwicklung mit Django Cookbook (1. Aufl.), Packt, p. 294, ISBN 178328689XBaumgartner, Peter; Malet, Yann (2015), Hochleistungs-Django (1. Aufl.), Lincoln Loop, p. 184, ISBN 1508748128Elman, Julia; Lavin, Mark (2014), Leichter Django (1. Aufl.), O’Reilly Media, p. 246, ISBN 149194594XPercival, Harry (2014), Testgetriebene Entwicklung mit Python (1. Aufl.), O’Reilly Media, p. 480, ISBN 1449364829Diese Liste ist eine Extraktion aus Aktuelle Django B\u00fccherExterne Links[edit] (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki20\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki20\/2021\/01\/23\/django-web-framework-wikipedia\/#breadcrumbitem","name":"Django (Web-Framework) – Wikipedia"}}]}]