Rheinwerk Computing < openbook >

 
Inhaltsverzeichnis
1 Einleitung
2 Die Programmiersprache Python
Teil I Einstieg in Python
3 Erste Schritte im interaktiven Modus
4 Der Weg zum ersten Programm
5 Kontrollstrukturen
6 Dateien
7 Das Laufzeitmodell
8 Funktionen, Methoden und Attribute
9 Informationsquellen zu Python
Teil II Datentypen
10 Das Nichts – NoneType
11 Operatoren
12 Numerische Datentypen
13 Sequenzielle Datentypen
14 Zuordnungen
15 Mengen
16 Collections
17 Datum und Zeit
18 Aufzählungstypen – Enum
Teil III Fortgeschrittene Programmiertechniken
19 Funktionen
20 Modularisierung
21 Objektorientierung
22 Ausnahmebehandlung
23 Iteratoren
24 Kontextobjekte
25 Manipulation von Funktionen und Methoden
Teil IV Die Standardbibliothek
26 Mathematik
27 Kryptografie
28 Reguläre Ausdrücke
29 Schnittstelle zu Betriebssystem und Laufzeitumgebung
30 Kommandozeilenparameter
31 Dateisystem
32 Parallele Programmierung
33 Datenspeicherung
34 Netzwerkkommunikation
35 Debugging und Qualitätssicherung
36 Dokumentation
Teil V Weiterführende Themen
37 Anbindung an andere Programmiersprachen
38 Distribution von Python-Projekten
39 Grafische Benutzeroberflächen
40 Python als serverseitige Programmiersprache im WWW – ein Einstieg in Django
41 Wissenschaftliches Rechnen
42 Insiderwissen
43 Von Python 2 nach Python 3
A Anhang
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 464 KB

Jetzt Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Python 3 von Johannes Ernesti, Peter Kaiser
Das umfassende Handbuch
Buch: Python 3

Python 3
Pfeil 40 Python als serverseitige Programmiersprache im WWW – ein Einstieg in Django
Pfeil 40.1 Konzepte und Besonderheiten von Django
Pfeil 40.2 Installation von Django
Pfeil 40.2.1 Installation mit Anaconda
Pfeil 40.2.2 Für Leser, die Anaconda nicht verwenden
Pfeil 40.3 Erstellen eines neuen Django-Projekts
Pfeil 40.3.1 Der Entwicklungswebserver
Pfeil 40.3.2 Konfiguration des Projekts
Pfeil 40.4 Erstellung einer Applikation
Pfeil 40.4.1 Die Applikation in das Projekt einbinden
Pfeil 40.4.2 Ein Model definieren
Pfeil 40.4.3 Beziehungen zwischen Modellen
Pfeil 40.4.4 Übertragung des Modells in die Datenbank
Pfeil 40.4.5 Das Model-API
Pfeil 40.4.6 Unser Projekt bekommt ein Gesicht
Pfeil 40.4.7 Djangos Template-System
Pfeil 40.4.8 Verarbeitung von Formulardaten
Pfeil 40.4.9 Djangos Administrationsoberfläche
 
Zum Seitenanfang

40    Python als serverseitige Programmiersprache im WWW – ein Einstieg in Django Zur vorigen ÜberschriftZur nächsten Überschrift

In der heutigen Zeit unterscheidet sich die Technik im World Wide Web drastisch von ihren Anfängen: Das rein informative Netzwerk aus statischen HTML-Seiten hat sich zu einer interaktiven Austauschplattform entwickelt, mit der praktisch alles möglich ist. Man kann über das Internet einkaufen, seinen nächsten Urlaub buchen, die Nachrichten verfolgen, seine sozialen Kontakte in Chats oder auf Community-Seiten pflegen oder bei der Gestaltung von Wissensdatenbanken wie der Wikipedia mitwirken.

Alle diese neuen Möglichkeiten verdankt das Internet im Wesentlichen den Programmen, die die Webseiten dynamisch mit den geforderten Daten generieren. Die Webprogrammierung war lange Zeit hauptsächlich eine Domäne für die Skriptsprache PHP[ 202 ](PHP (rekursive Abkürzung von PHP: Hypertext Preprocessor) ist eine Skriptsprache, die für die Einbettung in HTML-Seiten entwickelt wurde. Die Syntax von PHP ist an die Programmiersprache C angelehnt. Nahezu jeder Hosting-Service bietet heute Unterstützung für PHP-Skripte an. ), die sich in der Vergangenheit – mangels Alternativen – durchgesetzt hat. Skriptsprachen im Allgemeinen eignen sich besonders für die Programmierung von Webanwendungen, weil die Entwicklungszeiten aufgrund der geringeren technischen Komplexität gegenüber maschinennahen Programmiersprachen oft erheblich kürzer sind, sodass sich neue Funktionen schnell umsetzen lassen und weniger Code für die gleiche Funktionalität benötigt wird. Außerdem ist gerade bei Programmen im WWW die Ausführungsgeschwindigkeit häufig weniger wichtig, da die meiste Zeit in der Regel nach dem Ende des Programms durch die verhältnismäßig langsame Verbindung zwischen Server und Client verloren geht.

Heutzutage ist PHP nicht mehr die einzige serverseitige Programmiersprache, die die oben genannten Kriterien erfüllt. An die Seite von PHP gesellen sich Sprachen wie Perl, Java, Ruby und im Besonderen Python.

Um den speziellen Anforderungen gerecht zu werden, die sich bei der Entwicklung dynamischer Webseiten ergeben, werden sogenannte Webframeworks verwendet. Das Ziel dieser Frameworks besteht darin, dem Programmierer die immer wiederkehrenden Aufgaben abzunehmen, die sich bei der Erstellung dynamischer Internetseiten ergeben. Dazu zählen

  • die Kommunikation mit dem Webserver,
  • die Generierung von HTML-Ausgaben durch Template-Systeme und
  • der Zugriff auf Datenbanken.

Im Optimalfall braucht der Entwickler sich nicht mehr um die Besonderheiten der Datenbank und des Servers zu kümmern, sondern kann sich darauf konzentrieren, die Funktionen seiner Anwendung zu implementieren.

Es gibt viele Webframeworks für Python, die alle ihre Vor- und Nachteile haben. Wir werden im Rahmen dieses Buchs das Framework Django behandeln, das sich durch seinen Funktionsumfang, seine Eleganz und seine weite Verbreitung auszeichnet. Django ist ein ausgereiftes Framework, das 2005 zum ersten Mal veröffentlicht wurde. Es ist kostenlos unter der BSD-Lizenz verfügbar und besonders für die Entwicklung komplexer datenbankgestützter Anwendungen konzipiert. Beispiele für Internetplattformen, die auf Django setzen, sind Instagram, Pinterest oder die Hilfeseiten des Webbrowsers Firefox.

Aufgrund des großen Umfangs von Django werden wir Ihnen in diesem Kapitel nur grundlegendes Wissen vermitteln können. Es gibt aber im Internet sehr viel gute Dokumentation zum Thema Django. Besonders sei Ihnen dabei die Homepage des Projekts, http://www.djangoproject.com, ans Herz gelegt, die ausführliche Beschreibungen in englischer Sprache bereitstellt.

Um Sie mit den Grundlagen von Django vertraut zu machen, werden wir im Folgenden eine kleine Webanwendung implementieren, die News-Beiträge verwalten kann. Außerdem wird es für die Besucher der Seite möglich sein, Kommentare zu den einzelnen Meldungen abzugeben.

 
Zum Seitenanfang

40.1    Konzepte und Besonderheiten von Django Zur vorigen ÜberschriftZur nächsten Überschrift

Django setzt auf das Model-View-Konzept, das Sie schon in Abschnitt 39.7 über Qt kennengelernt haben. Eine typische Django-Anwendung definiert ein Datenmodell, das automatisch von Django in einer Datenbank verwaltet wird. Die Ausgabe für Endbenutzer übernehmen sogenannte Views (dt. Ansichten), die auf das Datenmodell zurückgreifen können.

Zurzeit unterstützt Django die Datenbanken MySQL, SQLite3 und PostgreSQL[ 203 ](SQLite3 ist als Modul in Pythons Standardbibliothek enthalten und kann ohne besondere Konfiguration sofort benutzt werden. Für MySQL und PostgreSQL benötigen Sie einen separaten Datenbankserver. ). Außerdem befinden sich Anbindungen für Microsofts SQL-Server MSSQL und für den Oracle-Datenbankserver in der Entwicklung.

Der Webentwickler bleibt beim Umgang mit den Datenmodellen vor technischen Details wie der Abfragesprache SQL vollkommen verschont. Seine Aufgabe besteht nur darin, Django mitzuteilen, welche Datenbank verwendet werden soll. Das Datenbanklayout wird über Python-Code definiert, und Django übernimmt die Kommunikation mit der Datenbank.

Als besonderes Bonbon für den Webentwickler erstellt Django anhand der Modelldefinition automatisch eine Administrationsoberfläche, um die Daten des Modells zu verwalten.

Django unterscheidet zwischen Projekten und Applikationen (auch Apps genannt). Als Projekt wird eine Website als Ganzes bezeichnet, die beispielsweise eine News-Seite, ein Forum und ein Gästebuch umfassen kann. Applikationen sind dafür zuständig, die Funktionen eines Projekts zu realisieren. Im Beispiel hätte das Projekt also drei Applikationen: eine News-Applikation, eine Forum-Applikation und eine Applikation für das Gästebuch.

Django vertritt das Prinzip des Loose Coupling (dt. schwache Kopplung) für alle Teile der Webanwendung. Das bedeutet, dass möglichst viel unabhängig voneinander entwickelt werden kann, sodass die einzelnen Teile auf anderen Seiten verwendet werden können. Insbesondere soll es problemlos möglich sein, Applikationen in verschiedenen Projekten zu verwenden, ohne den Code wesentlich anpassen zu müssen.

Ein weiteres Prinzip von Django lautet DRY für Don’t Repeat Yourself (dt. wiederhole dich nicht). In der Praxis sorgt die Umsetzung dieses Prinzips beispielsweise dafür, dass Django Angaben zu den verwendeten Datenobjekten einerseits zur Verwaltung der Datenbank, andererseits zur Bereitstellung einer Administrationsoberfläche verwendet.

 


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Python 3 Python 3
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: Einstieg in Python
Einstieg in Python


Zum Rheinwerk-Shop: Python. Der Grundkurs
Python. Der Grundkurs


Zum Rheinwerk-Shop: Algorithmen mit Python
Algorithmen mit Python


Zum Rheinwerk-Shop: Objektorientierte Programmierung
Objektorientierte Programmierung


Zum Rheinwerk-Shop: Raspberry Pi. Das umfassende Handbuch
Raspberry Pi. Das umfassende Handbuch


Zum Rheinwerk-Shop: Roboter-Autos mit dem Raspberry Pi
Roboter-Autos mit dem Raspberry Pi


Zum Rheinwerk-Shop: Neuronale Netze programmieren mit Python
Neuronale Netze programmieren mit Python


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2020
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern