# Dynamische Webentwicklung mit Django und HTMX vereinfachen (Teil 3): Django-Integration Das robuste Backend **[[Django]]** mit seiner "Batteries Included"-Philosophie und **[[HTMX]]**, das geschickt die frisch gebackenen HTML-Fragmente dieses Backends nutzt, bilden eine absolut fantastische Kombination. Dieser Beitrag ist der dritte Teil unserer Serie **"Dynamische Webentwicklung mit Django und HTMX vereinfachen"** und beleuchtet zwei konkrete Methoden, HTMX in ein bestehendes Django-Projekt zu integrieren. ![Bild, das die Kombination von Django und HTMX zeigt](/media/whitedec/blog_img/cd6a017531894572b0123aa2e403ef4b.webp) ----- ## 1. Direkte Nutzung ohne Drittanbieter-Paket {#sec-ca790606f6d7} Dies ist die reinste und leichteste Methode. Ohne komplizierte Installationsschritte können Sie die Funktionen von HTMX sofort nutzen, indem Sie einfach eine einzige Skriptzeile in Ihr HTML-Template einfügen. ### Installationsmethoden {#sec-1b32901b18e3} Die offizielle HTMX-Dokumentation schlägt verschiedene Installationsmethoden vor, aber der schnellste Weg ist die Nutzung eines **CDN**. * **CDN nutzen (am schnellsten):** Fügen Sie den folgenden Code in das ``-Tag Ihrer `base.html` ein: ```html ``` * **Direkter Download:** Wenn Sicherheit oder eine Offline-Umgebung wichtig sind, können Sie [htmx.min.js](https://www.google.com/search?q=https://unpkg.com/htmx.org/dist/htmx.min.js) herunterladen, in den `static`-Ordner Ihres Projekts legen und den Pfad entsprechend angeben. * **npm:** Wenn Sie ein Build-System verwenden, können Sie es mit dem Befehl `npm install htmx.org` installieren. [Zur offiziellen HTMX-Installationsdokumentation](https://htmx.org/docs/#installing) ----- ## 2. Nutzung des django-htmx Pakets {#sec-e127afe305db} Im Django-Ökosystem gibt es eine spezielle Bibliothek, die hilft, [[HTMX]] noch "Django-freundlicher" zu nutzen: **django-htmx**. ### Installation und Konfiguration {#sec-1fad40addfc9} Folgen Sie den Anweisungen in der [offiziellen django-htmx Dokumentation](https://django-htmx.readthedocs.io/en/latest/installation.html): 1. **Paket installieren** ```bash python -m pip install django-htmx ``` 2. **INSTALLED_APPS registrieren** ```python INSTALLED_APPS = [ ..., "django_htmx", ..., ] ``` 3. **Middleware hinzufügen** ```python MIDDLEWARE = [ ..., "django_htmx.middleware.HtmxMiddleware", ..., ] ``` ----- ### Wie nützlich ist django-htmx? {#sec-9b3f39c88466} Da [[HTMX]] an sich ein so einfaches Werkzeug ist, mag sich die Frage stellen, ob die zusätzliche Installation eines Pakets wie **django-htmx** wirklich notwendig ist. Tatsächlich lassen sich die Kernfunktionen auch ohne dieses Paket problemlos umsetzen. Doch wenn man sich die Komfortfunktionen ansieht, die es bietet, wird klar, warum viele Entwickler es wählen. Laut der offiziellen Dokumentation von **django-htmx** ist das Hauptmerkmal dieses Pakets die **Erweiterung des `request`-Objekts durch Middleware**. Wenn die Middleware registriert ist, wird ein `request.htmx`-Attribut erstellt, über das folgende Detailinformationen sehr einfach abgerufen werden können: * **Anfrageinformationen prüfen:** `boosted`, `current_url`, `current_url_abs_path`, `history_restore_request`, `prompt` * **Target- und Trigger-Steuerung:** `target`, `trigger`, `trigger_name`, `triggering_event` Darüber hinaus werden **zwei spezielle Tags** zur Unterstützung der Template-Arbeit angeboten: * `{% htmx_script %}`: Dies ist das Haupt-Tag, das das HTMX-Bibliotheksskript einfügt. * `{% django_htmx_script %}`: Dies ist ein Hilfs-Tag, das zusätzliche Erweiterungsskripte für das Debugging einfügt, wenn HTMX direkt über CDN oder statische Dateien eingebunden wurde. Besonders beeindruckend sind die `django_htmx.http` Modul enthaltenen **11 nützlichen Methoden**. Unter diesen sticht `trigger_client_event()` besonders hervor. Es ermöglicht die einfache Konfiguration des `HX-Trigger`-Headers auf Serverseite, der zusammen mit der Antwort gesendet wird, wodurch **Client-Ereignisse direkt vom Server gesteuert** werden können. Einmal vertraut, wird es zu einem sehr häufig genutzten und mächtigen Werkzeug. Natürlich können all diese Funktionen auch vom Entwickler selbst implementiert werden, indem er eigene Middleware schreibt oder Header manipuliert. Wer also wie ich eine Vorliebe für Eigenbau hat, wird es möglicherweise nicht als unverzichtbares Paket empfinden. Zusammenfassend lässt sich sagen, dass **django-htmx** zwar kein "Muss", aber definitiv ein Paket ist, das **"die Entwicklung spürbar angenehmer macht"**. Da die offizielle Dokumentation nicht sehr umfangreich ist, lässt sich das Paket mit ein oder zwei Stunden Einarbeitung gut verstehen. Entscheiden Sie selbst, ob es zu Ihrem Projekt passt. ----- ## Fazit {#sec-2c0be77e7e31} Wenn Sie nur einfache Toggle-Buttons oder ein paar "Gefällt mir"-Funktionen implementieren möchten, reicht die **direkte Nutzung (CDN)** völlig aus. Es kann die wirtschaftlichste Lösung sein, unnötige Abhängigkeiten zu vermeiden. Wächst Ihr Projekt jedoch und müssen Sie in einer Ansicht sowohl ganze Seiten als auch Teilseiten gleichzeitig verwalten, dann ist **django-htmx** eine Überlegung wert. Welche Methode spricht Sie mehr an? Tatsächlich ist django-htmx kein schwerfälliges Paket, sondern recht leichtgewichtig. Es könnte also die richtige Wahl sein, es einfach zu installieren und zu nutzen, ohne lange nachzudenken. Letztendlich hängt alles von der Stimmung und dem Charakter des Entwicklers ab. Ob man "Abhängigkeiten minimieren" oder "am liebsten alles selbst machen" möchte, ist eine persönliche Präferenz. Doch egal, welche Wahl Sie treffen, mit [[HTMX]] können Sie die Freude erleben, sich von [[JavaScript]] zu lösen und zur Einfachheit von HTML zurückzukehren. **Verwandte Artikel** : - [Dynamische Webentwicklung mit Django und HTMX vereinfachen (Teil 1)](/ko/whitedec/2025/1/27/django-htmx-dynamic-web-simplification/) - [Dynamische Webentwicklung mit Django und HTMX vereinfachen - Ajax (Teil 2)](/ko/whitedec/2025/1/27/django-htmx-dynamic-web-simplification-2/) - [Dynamische Webentwicklung mit Django und HTMX vereinfachen (Teil 3): Django-Integration](/de/whitedec/2025/1/27/django-htmx-dynamic-web-simplification-3/) - [Dynamische Webentwicklung mit Django und HTMX vereinfachen (Teil 4): Payload-Übertragungsarten](/de/whitedec/2025/1/27/django-htmx-csrf-token-integration/) - [Dynamische Webentwicklung vereinfachen mit Django und HTMX: Einsatz von Form und Serializer](/de/whitedec/2026/4/22/django-htmx-forms-serializer-usage/) - [Dynamische Webentwicklung mit Django und HTMX vereinfachen: Trigger im Einsatz](/de/whitedec/2026/4/23/django-htmx-dynamic-web-development-trigger/)