Django ist ein leistungsstarkes Python-Webframework, das den Entwicklern hilft, sichere, skalierbare und wartbare Web-Anwendungen zu entwickeln. Ein Django-Projekt ist eine Sammlung von Konfigurationen und Apps. Für das Verständnis der Django-Projektstruktur ist es wichtig, die Struktur und Beziehung zwischen Projekten und Apps zu verstehen.
Ein Django-Projekt wird als ein Verzeichnis bzw. eine Sammlung von Dateien betrachtet, die von Django selbst generiert werden. Diese Dateien beinhalten grundlegende Einstellungs- und Konfigurationsdetails für das Projekt.
Ein neues Django-Projekt kann erstellt werden, indem der Befehl ‘django-admin startproject projectname’ ausgeführt wird. Nach der Ausführung dieses Befehls erstellt Django ein Verzeichnis mit dem angegebenen Namen ‘projectname’ und darin fünf Dateien:
1. init.py: Diese leere Datei dient dazu, das Verzeichnis als Python-Paket zu kennzeichnen, so dass es importiert werden kann.
2. settings.py: Diese Datei enthält alle Einstellungen für das Django-Projekt. Es enthält Konfigurationen für Datenbank, Template, Middleware und andere Schlüsseleinstellungen.
3. urls.py: In dieser Datei definieren Sie die URL-Routen für das Projekt. Jede URL kann eine Python-Funktion oder Klasse aufrufen, die eine Web-Seite anzeigt.
4. wsgi.py: Diese Datei ist ein Einstiegspunkt für WSGI-kompatible Web-Server, um Ihre Anwendung zu bedienen.
5. manage.py: Dieses Kommandozeilen-Dienstprogramm ermöglicht es Ihnen, administrative Aufgaben auszuführen. Mit ‘python manage.py runserver’ können Sie den Entwicklungs-Webserver starten und Ihr Projekt anzeigen.
Innerhalb eines Django-Projekts können Sie Django-Apps erstellen. Eine Django App ist ein Modul, das einen bestimmten Aspekt Ihrer Website erfüllt. Zum Beispiel könnte eine Website ein Django-Projekt sein und ein Blog, ein Forum und eine Nachrichtenapplikation könnten verschiedene Django-Apps innerhalb des Projekts sein.
Ein Django-Projekt kann mehrere Apps enthalten und eine App kann in mehreren Projekten verwendet werden. Eine App wird erstellt, indem der Befehl ‘python manage.py startapp appname’ ausgeführt wird.
Django-Projekte und -Apps folgen einer spezifischen Struktur, die MVC (Model-View-Controller) oder MVT (Model-View-Template) genannt wird. MVC ist ein Design-Muster, das die Anwendung in drei Teilen organisiert: Model, View und Controller. Django folgt der MVT-Architektur und betrachtet den Controller-Bereich als Framework selbst.
Die Quellen für dieses Wissen sind die offizielle Django-Dokumentation (https://docs.djangoproject.com/en/3.2/intro/tutorial01/) und das Buch “Two Scoops of Django: Best Practices for Django” von Daniel Roy Greenfeld und Audrey Roy Greenfeld.