Posted on 3 Comments

Django – Framework für die Erstellung komplexer Websites mit Python

django

Django – Framework für die Erstellung komplexer Websites mit Python

Eines dieser Frameworks ist Django. Dieses eignet sich für die Erstellung von Webseiten. In diesem Artikel stellen wir Ihnen vor, welche Funktionen Django bietet und welche Prinzipien das Framework verfolgt. Zum Abschluss präsentieren wir Ihnen ein einfaches Anwendungsbeispiel. Um dieses selbst nachzuvollziehen, sind einige Grundkenntnisse in Python hilfreich. Auf jeden Fall ist es notwendig, dass Sie bereits einen Python-Interpreter auf Ihrem System installiert haben. Sollte dies nicht der Fall sein, empfehlen wir zunächst die Lektüre eines unserer Einsteiger-Bücher für diese Programmiersprache.

Für welche Aufgaben lässt sich Django einsetzen?

Django ist ein Webframework. Daraus geht hervor, dass Sie damit Internetseiten erstellen können. Vielleicht stellen Sie sich nun die Frage, weshalb sie hierfür Django verwenden sollten – schließlich gibt es ja hierfür die bekannten Webtechniken wie HTML, CSS und PHP. Die Verwendung von Django bietet sich an, wenn Sie sich bereits gut mit Python auskennen und sich nicht in die übrigen Web-Technologien einarbeiten möchten. Doch selbst wenn Sie diese bereits beherrschen, profitieren Sie bei der Verwendung von Django von zahlreichen Vorteilen. Das Framework bietet viele hilfreiche Funktionen an. Diese können Sie mit wenigen Befehlen in Ihr Internetangebot einbinden. Programmieren Sie diese hingegen von Hand, benötigen Sie hierfür viel Zeit und häufig auch fortgeschrittene Programmierkenntnisse.

Django eignet sich insbesondere für datenbankbasierte Websites hervorragend. Sie können mit diesem Framework ausgesprochen einfach Werte aus einer Datenbank abfragen oder sie dort eintragen. Selbst sehr komplexe Strukturen lassen sich mit Django problemlos in vergleichsweise kurzer Zeit erzeugen. Django eignet sich außerdem für die Erstellung unterschiedlicher Webseiten. Es ist möglich, damit eine Unternehmens-Homepage, ein Content-Management-System, ein Wiki oder sogar ein soziales Netzwerk zu erstellen. Django unterstützt hierfür sehr vielfältige Techniken – von einfachem HTML bis hin zu RSS-Feeds.

Bei all diesen Aufgaben profitieren sie noch von einem weiteren großen Vorteil: Das Framework kümmert sich auch um die Sicherheit. Webseiten können zahlreiche Angriffsflächen bieten, die Hacker häufig ausnutzen, um großen Schaden anzurichten. Insbesondere unerfahrene Programmierer beachten die erforderlichen Sicherheitsmaßnahmen meistens nicht. Django bietet in diesem Bereich eine sehr große Unterstützung. Beispielsweise enthält das Framework eine Funktion, mit der Sie Nutzer-Accounts und Passwörter automatisch verwalten können. Diese setzt alle in diesem Bereich erforderlichen Sicherheits-Vorkehrungen automatisch um, ohne dass Sie sich selbst um diese Aufgabe kümmern müssen. Daher bietet Ihre Seite in diesem Bereich keine Angriffsflächen.

Wie praktisch die Verwendung von Django ist, zeigt sich auch bei einem Blick auf die Internetangebote, die dieses Framework verwenden. Das bekannteste von ihnen ist wohl das soziale Netzwerk Instagram. Doch auch einige weitere große Websites mit einem sehr komplexen Angebot – beispielsweise die Internetauftritte von Mozilla und Bitbucket sowie der Washington Times – wurden mit Django erstellt. 

Was zeichnet Django aus?

Nachdem wir die Funktionen und den Einsatzzweck von Django besprochen haben, ist es sinnvoll, noch kurz auf die Philosophie einzugehen, die hinter dem Framework steckt. Von großer Bedeutung ist hierbei, dass es sich bei Django um Open-Source-Software handelt. Das bedeutet nicht nur, dass Sie das Framework vollkommen unentgeltlich nutzen können. Darüber hinaus ist auch der Quellcode offen einsehbar. Das kann nützlich sein, um die Funktionsweise zu verstehen und außerdem können Sie auf diese Weise einmal selbst nachschauen, wie ein solches Framework aufgebaut ist. Wenn Sie über gute Python-Kenntnisse verfügen, können Sie die Funktionen außerdem personalisieren und an Ihre persönlichen Bedürfnisse anpassen.

Eines der wichtigsten Prinzipien bei der Entwicklung von Django war DRY. Diese Abkürzung steht für „Don’t repeat yourself“ – auf Deutsch „Wiederhole dich nicht!“. Das Ziel besteht hierbei darin, Redundanzen im Code konsequent zu vermeiden. Eine einmal ausformulierte Aufgabe sollte nicht noch ein zweites Mal erscheinen. Das führt zu einem sehr kompakten und übersichtlichen Code. In dieser Hinsicht weist Django große Ähnlichkeiten mit Ruby on Rails auf – einem anderen bekannten Webframework, das auf der Programmiersprache Ruby basiert.

Python 3 Programmieren für Einsteiger 21.99 € Verfügbar In den Warenkorb

Die Entwicklung von Django

Die Entwicklung von Django begann 2003 im Verlag der Zeitung Lawrence Journal-World, die in der Stadt Lawrence in Kansas erscheint. Für die Entwicklung der Webseite waren die Programmierer Adrian Holovaty und Simon Willison verantwortlich. Diese begannen damit, Python-Anwendungen für die Gestaltung der Internetseite zu programmieren, um deren Gestaltung und Wartung zu vereinfachen. Auf diese Weise entstanden immer mehr einzelne Anwendungen, aus denen schließlich ein komplettes Framework erwuchs. Die Veröffentlichung erfolgte 2005. Vorerst blieb die Verantwortung für das Framework im Verlagshaus, in dem die Entwickler arbeiteten. 2008 entstand mit der Django Software Foundation eine Stiftung, die diese Aufgabe fortan übernahm.

Seinen Namen erhielt das Framework zu Ehren des französischen Jazz-Gitarristen Django Reinhardt. Einer der Entwickler – Adrian Holovaty – bewunderte diesen nicht nur aufgrund seiner musikalischen Leistung. Darüber hinaus stammen sowohl Holovaty als auch Reinhardt vom Volk der Sinti und Roma ab, sodass auch aufgrund dieser gemeinsamen Wurzeln ein großes Verbundenheitsgefühl bestand. Außerdem handelt es sich hierbei um einen sehr griffigen Namen, sodass das Entwickler-Team beschloss, diesen zu übernehmen.

Ein kleines Anwendungsbeispiel

Damit Sie sehen, auf welche Weise Sie mit Django eine Webseite gestalten können, schließen wir diesen Beitrag nun mit einem kleinen Anwendungsbeispiel ab. Hierfür wollen wir lediglich eine einfache Seite erstellen, die einen Text ausgibt.

Die Vorbereitungsmaßnahmen

Wie bereits in der Einleitung erwähnt, gehen wir für dieses Beispiel davon aus, dass Sie bereits einen Python-Interpreter installiert haben. Sollte dies nicht zutreffen, finden Sie unter dem folgenden Link ein passendes Download-Angebot: https://www.python.org/downloads/.

Nun müssen Sie Django installieren. Dafür benötigen Sie ein Paketverwaltungsprogramm. Hierfür können Sie pip verwenden. Mit dieser Software verwalten Sie alle Python-Erweiterungen. Um pip zu installieren, reicht in der Regel eine Befehlszeile im Kommandozeileninterpreter aus. Unter Windows können Sie beispielsweise den folgenden Befehl verwenden:

py -m ensurepip --upgrade

Weitere Optionen sowie Installationsanleitungen für andere Betriebssysteme entdecken Sie unter dem folgenden Link: https://pip.pypa.io/en/latest/installation/. Nachdem Sie pip installiert haben, bietet es sich an, einmal den folgenden Befehl einzugeben:

pip --version

Wenn daraufhin eine Versionsnummer erscheint, steht pip zur Nutzung bereit.

Nun können Sie Django mit einem Befehl installieren:

python -m pip install Django

Es bietet sich an, auch hierbei nochmals zu überprüfen, ob die Installation erfolgreich war. Dazu können Sie wieder die Versionsnummer abfragen:

python -m django --version

Wenn hier eine Versionsnummer erscheint, steht Ihnen das Framework zur Verfügung.

Ein neues Django-Projekt erstellen

Der erste Schritt, um mit Django zu arbeiten, besteht darin, ein neues Projekt zu erstellen. Hierfür müssen Sie zunächst im Kommandozeileninterpreter in das Verzeichnis wechseln, in dem Sie Ihr Projekt entwickeln möchten. Dort müssen Sie dann den folgenden Befehl eingeben:

django-admin startproject meineSeite

Damit erstellen Sie ein Projekt, das den Titel „meineSeite“ erhält. Wenn Sie den Befehl ausführen, bemerken Sie zunächst keine Veränderung. Wenn Sie jedoch den Inhalt des Ordners betrachten, erkennen Sie, dass hier nun ein Unterverzeichnis mit dem gleichen Namen wie Ihr Projekt entstanden ist. Darin sind weitere Dateien und Ordner enthalten.

Hinweis: Bei der Auswahl des Namens für Ihr Projekt müssen Sie darauf achten, dass manche Namen, die entweder in Python oder in Django eine besondere Bedeutung haben, zu Konflikten führen können. Beispielsweise sollten Sie Ihr Projekt niemals „django“ oder „test“ nennen. Wählen Sie stets einen individuellen Namen.

Python Kompendium 26.99 € Verfügbar In den Warenkorb

Die Seite erzeugen

Beim Erstellen des Projekts wurde automatisch eine erste Standard-Seite eingefügt. Diese wollen wir nun aufrufen. Zu diesem Zweck müssen Sie den Django-Entwicklungsserver starten. Wechseln Sie hierfür im Kommandozeileninterpreter in das Verzeichnis mit der Bezeichnung „meineSeite“, das automatisch bei der Projekterstellung erzeugt wurde. Geben Sie hier den folgenden Befehl ein:

python manage.py runserver

Hierbei erscheinen normalerweise einige Warnmeldungen, die Sie vorerst ignorieren können. Dennoch sollte nun der Server aktiviert sein. Achten Sie hierbei darauf, dass es sich hierbei lediglich um einen Entwicklungsserver handelt, der dazu dient, Ihre mit Django entwickelten Internetseiten auszuprobieren. Sollten Sie versuchen, diesen für eine öffentlich zugängliche Website zu verwenden, würde das zu erheblichen Sicherheitsproblemen führen.

Um die automatisch erstellte Testseite aufzurufen, müssen Sie nun einen Webbrowser Ihrer Wahl öffnen. Geben Sie hier in die Adressleiste die folgende Adresse ein:

http://127.0.0.1:8000/

Sobald Sie diese per Eingabetaste bestätigt haben, sollte die Seite erscheinen, die im folgenden Screenshot zu sehen ist:

Abb. 1: Die Standard-Seite von Django

Einfache Inhalte einfügen

Nun wollen wir noch ausprobieren, wie wir mit Django eigene Inhalte gestalten können. Für diesen Artikel beschränken wir uns auf eine einfache Textausgabe. Wenn Sie tiefer in dieses Thema einsteigen möchten, stellt Ihnen Django noch viele weitere Funktionen zur Verfügung, mit denen Sie schnell und einfach komplexere Inhalte hinzufügen können.

Wenn Sie eine Seite erstellen möchten, müssen Sie hierfür zunächst eine App erzeugen. Dafür benötigen Sie wieder den Kommandozeileninterpreter. Da in diesem jedoch gerade der Server ausgeführt wird, bietet es sich an, ein neues Fenster zu öffnen und erneut in das Verzeichnis meineSeite zu navigieren. Alternativ können Sie den Server auch mit Strg + C beenden.

Geben Sie nun diesen Befehl ein:

python manage.py startapp meineApp

Dabei entsteht ein neues Verzeichnis mit der Bezeichnung „meineApp“. Darin befindet sich eine Datei mit der Bezeichnung views.py. Öffnen Sie diese mit einem Texteditor. Löschen Sie die darin enthaltenen Inhalte und fügen Sie stattdessen diesen Code ein:

from django.http import HttpResponse

def index(request):

    return HttpResponse("Meine erste Seite mit Django")

Dieser verwendet die Funktion HttpResponse(), die in Django eine einfache Textausgabe erzeugt. Nun müssen Sie noch dafür sorgen, dass die Seite richtig verlinkt wird. Erstellen Sie hierfür im Verzeichnis meineApp eine Datei mit der Bezeichnung urls.py und fügen Sie die folgenden Inhalte ein:

from django.urls import path

from . import views

urlpatterns = [

    path('', views.index, name='index'),

]

Damit sorgen Sie dafür, dass die soeben gestaltete Seite erscheint, wenn Sie den Ordner meineApp im Browser aufrufen. Nun müssen Sie noch im Stammverzeichnis der Anwendung die gerade erstellte Datei verlinken. Dazu müssen Sie wieder in das Verzeichnis meineSeite wechseln. Darin befindet sich bereits eine Datei mit der Bezeichnung urls.py. Öffnen Sie diese mit einem Texteditor. Ganz oben befinden sich einige Kommentare, die keine Auswirkung auf die Ausführung haben. Darunter befindet sich bereits etwas Code. Hier müssen Sie nun die zuvor erstellte Datei einbinden. Dazu müssen Sie zum einen den zweiten import-Befehl erweitern. Zum anderen müssen Sie eine weitere Zeile in den urlpatterns einfügen. Der Code sieht nach dieser Veränderung so aus:

from django.contrib import admin

from django.urls import include, path

urlpatterns = [

    path('meineApp/', include('meineApp.urls')),

    path('admin/', admin.site.urls),

]

Nun können Sie ausprobieren, wie die Seite aussieht, die Sie erstellt haben. Falls Sie den Server geschlossen haben, müssen Sie ihn hierfür zunächst wieder aktivieren – auf die gleiche Weise wie oben vorgestellt. Geben Sie daraufhin die folgende Adresse ein:

http://127.0.0.1:8000/meineApp

Diese führt Sie in das Verzeichnis meineApp, das wir zuvor erstellt haben. Die Seite sollte etwa so aussehen, wie in der folgenden Abbildung: Es erscheint lediglich der Text, den wir mit der  HttpResponse()-Funktion erzeugt haben.

Abb. 2: Die Seite mit der erstellten Textausgabe

Ähnliche Produkte

3 Kommentare zu “Django – Framework für die Erstellung komplexer Websites mit Python

  1. Ein Django Buch würde ich sofort kaufen!

    1. Ich auch!!! 🙂 wäre toll. pünktlich und geschlechterlos wäre perfekt.

      aber schaut sicher schlecht aus… auf manch kompendium hier wartet man leider länger als EIN jAHR!!!!
      da kann das buch dann gleich neu überarbeitet weden!
      wir könnten wetten setzen wann dzt das html kompendium endlich seine fertigstellung finden wird.
      nach dem vielen malen der verschiebung und den dzt -aktuellen erscheinungsdatum. 😀 😀 😀 würd ich mal sagen
      heuer sicher nicht….
      sonst is eigentlich alles ok hier….
      und da ich viele bücher von hier habe kann ich das ohne schlechtem gewissen (ca 2/3 des angebotes) angeben.
      ach ja
      das python kompendium welches endlich den weg in die regale gefunden hat wäre vielleicht schneller fertig gewesen
      wenn diese lächerliche unnötige störende -genderei- entfallen wäre. eher ein feministinen – als ein python buch.
      LÄCHERLICH!!!!! wie im kindergarten. wenns dem unbedingt sein muß hätte auch EIN EINZIGER anfänglicher hinweis genügt.
      dies war auch der grund warum es nach trotz langer wartezeit! wegen oftmaligem verschiebens? der erscheinung
      ich letztlich soooo angfressn war auf den schxxx das es auch gleich nach ein paar tagen wieder retour nach amaxonien ging!
      dies (nochdazu mit den verschiebungen und den wartezeiten) einem dann als endlich fertig zu melden ist eine frechheit und ver xxxrsche der geneigten leserschaft.
      also für die zukunft bitte!!!:
      ZEITEN EINHALTEN (lieber früher und den juhuu effekt nützen als später und den schxxx?ßdrauf!!! wenn im juli fertig sein soll september angeben und wenns dann der august wird freun sich alle… alles klar?)
      NIX GENDERN!!!! einfach gaaaanz -normal- schreiben!!!so wie bisher!!! unnötige wörter zeilen SEITEN gewicht platz und auch die konzentration des LESERS leidet unter den ewig aufgezwungenen ansichter der schreiberin. die soll und kann gerne/machen/einstellung… /denken was sie auch immer möchte! aber für sich alleine und nicht in einem it buch der öffentlichkeit aufs auge drücken!!! wenns dem sein muß um ihre miteillungsbedürftigkeit zu befriedigen dann soll ein entsprechendes einhornbuch im regenbogenverlag werden. auch ein genderfiziertes vorwort könnte noch als akzeptabel durchgehen. dort sind solche ansagen sicher ganz gut aufgehoben… HIER IM BUCHINHALT ABER NICHT!!!! DAS IST EIN IT FACHBUCH UND KEIN GENDERRATGEBER. auch jegliche art der sublimation zb durch ständige wiederholung dieses unpassenden schwachsinns (im it buch ist es so einer) ist hier ebenso FALSCH.
      schade!!! das buch als solches wäre nicht mal so schlecht gewesen. jedoch die brauchbarkeit auf grund der ewigen -leser und rinnen-…. unmöglich und absolut NICHT gegeben.
      macht nix gibt noch genug andere verlage mit qualifizierter lektüre welche nicht genderverseucht ist.
      mal sehen ob dies hier gelöscht/geblockt wird oder ob der verlag zur offenen meinung seiner leser u v a käufer steht?! aber.. 🙂 in zeiten wie diesen ist es ja ein leichtes diese zeilen anderweitig kundzutun 😉
      wäre schön wenn die bücher in zukunft 1. PÜNKTLICH und NICHT (wertloser weise da IT buch! ) 2. GENDERVERSEUCHT!!! erscheinen!
      habe auch zwei andere bücher über deren inhalt ich leider nichts angeben kann -storniert- bei amaxon da es einfach untragbar war diese ewigen terminverschiebungen als zahlender kunde hinzunehmen. dann kauf ich halt was gleichwertiges wo anders!
      ach ja… auf anfragen an den verlag bzgl dieser jeweiligen verschiebung….. ich erspare es euch diese marginal ausgefallene uninformatiefe frechheit hier zu zitieren 😉
      hoffen wir darauf das ein fachbuch in zukunft auch wieder ein fachbuch wird/ist/bleibt und nicht als sublibierende belehrlektüre missbraucht wird! auf ein pünktliches erscheinen allerdings hoffe ich nicht denn selbiges sehe ich als selbstverständlich an.
      ps eigentlich mir diese genderei wurscht solange es jeder für sich macht und damit keine belästigungen entstehen. etwas was alle (sogar mehr als nur die beteiligten) als selbstverständlich ansehen und dies i d heutigen zeit auch ist braucht nicht ständig wiederholt werden! das nervt und ist eben aus diesen und auch noch einigen anderen gründen wertlos nicht notwendig und kontraproduktiv!
      also lieber verlag gebt dem zahlenden leser/käufer wieder geschlechtslose bücher!!! wir wollen uns auf den fachlich sofern vorhanden qualifizierten inhalt konzentrieren und nicht über manderln weiberln beides und/oder alles was da noch dazwischen hängen oder was man aus diesem mit od ohne op kostruieren könnte ablenken lassen.
      manchmal keimt sogar der verdacht auf das man mit diesem ablenken vielleicht einen etwas fachlich … naja… nicht 100% korrektem inhalt -überdecken möchte.
      also liebe schreiberlinge macht eure arbeit genderlos damit auch der einmalige überblick über eine qualifizierte arbeit gewährleistet ist. ich vermute niemand von euch möchte auch nur den anschein erwecken dass hier vielleicht auf grund von… -lücken- im wissen man andere möglichkeiten nutzen muß um von diesen abzulenken.
      würde mich auf eine zukünftig wieder gute und fachlich sachliche gemeinsamkeit freuen!
      und seid versichert ich bin bei weitem NICHT der einzige welcher so denkt!!! ich hab nur grad durch zufall her gefunden und auch etwas zeit diese eben nun hier damit verbraucht.
      herzlichen dank!

      1. Guten Tag,

        Vielen Dank für Ihr Feedback!

        Es tut uns leid zu hören, dass die Widmung der Autorin des Python Kompendiums einen negativen Nachgeschmack bei Ihnen hinterlassen hat. Wir möchten Sie hierbei versichern, dass die Autorin auf keinen Fall im Absicht hatte, männliche Leser zu beleidigen, sondern ganz umgekehrt – weibliche Leser beim Einstieg in Programmierung zu unterstützen. Wir nehmen aber Ihren Hinweis diesbezüglich sehr gerne auf, da wir, als Verlag, der Meinung sind, dass Programmieren kein Geschlecht kennt.

        Was die Erscheinungsverzögerungen für manche Bücher betrifft – hier können wir nur zustimmen und uns dafür entschuldigen. Diese Situation haben wir den Kunden, die uns direkt kontaktiert haben, erklärt und optimale Lösungen für die Kunden, die das Buch vorbestellt haben, gefunden. Wir sind sehr dankbar diesen Kunden dafür, dass Sie ein Verständnis dafür entwickelt haben. Die Veröffentlichung jedes Buches ist nicht nur direkt vom Verlag, sondern auch von externen Faktoren abhängig.

        Wir sind für jede Art von Feedbacks offen, sei es positiv oder negativ, und sind stark bemüht, unsere Kunden zufrieden zu stellen. Wir würden uns sehr freuen, die Verbesserungsvorschläge direkt an unsere eMail-Adresse info@bmu-verlag.de zu bekommen, damit wir auch schnellstmöglich darauf reagieren können 🙂

        Mit freundlichen Grüßen,
        BMU Verlag Team

Schreibe einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.