Inhaltsverzeichnis. Einleitung

Ähnliche Dokumente
Rapid Web Development mit Python

Kompendium der Web-Programmierung

Scriptsprachen für dynamische Webauftritte

Inhalt. Vorwort 13. Einleitung 15. Für wen ist dieses Buch gedacht? 15 Zum Aufbau des Buchs Installation und erste Schritte 17

Python. Grundlagen, fortgeschrittene Programmierung und Praxis

(Iemens Gull. Mit 148 Abbildungen

Web-Anwendungen mit JavaServer Faces

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25

Web 2. Gang. Python User Group Köln Christopher Arndt

Matthias-Claudius-Gymnasium Fachcurriculum Informatik

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten

Enterprise JavaBeans Überblick

FRANZIS PROFESSIONAL SERIES. Das Praxisbuch FRANZIS. Maik Caro / Christoph Lindemann. Mit 252 Abbildungen

Django - ein Python Web-Framework

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

jetzt lerne ich ASP.NET Dynamische Webseiten mit ASP.NET 1.1 mit Ausblick auf ASP 2.0 WENZ KORDWIG TRENNHAUS

Inhalt. Einführung RFC-Funktionsbausteine in ABAP Funktionsbausteine zum Lesen Aufruf per srfc 108

Inhaltsverzeichnis. Bernd Weber, Patrick Baumgartner, Oliver Braun. OSGi für Praktiker

Web-Anwendungsentwicklung mit dem Delivery Server

Internet. HTML Programmierung Grundlagen HTML Programmierung für Fortgeschrittene CGI Programmierung PHP Programmierung Programmieren mit JavaScript

Programmieren lernen in ASP.NET mit C#

Hochschule Bochum. Fachbereich Elektrotechnik und Informatik. Arbeitsthese. UML2 Web-Modelling-Tool. Tim Keller

Portal zur Verwaltung von Wohngemeinschaftsfinanzen mit dem Web-Framework Django

Vorwort Einführung in Power Query Erste Abfrage erstellen... 21

Carsten Möhrke. Zend Framework. Das Entwickler-Handbuch. Galileo Press

Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen

Inhaltsverzeichnis. 1 Hallo 13

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Michael Gradias. DREAMWEAVER 8 Workshops für professionelles Webdesign

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Vorwort 15. Buch-CD Ein WordPress-Blog 19. Teil I WordPress auf wordpress.com Ein Blog auf wordpress.com 37.

Programmieren mit Edipse 3

MyCoRe > V1.0: Technische Weiterentwicklung

Grails. Weiterführende Themen zu Internet- und WWW-Technologien. Matthias Springer. 06. Juni 2011

Grundlagen Internet-Technologien INF3171

TimeMachine. Installation und Konfiguration. Version 1.4. Stand Dokument: installcentos.odt

Python. Grundlagen und Praxis. Peter Walerowski ADDISON-WESLEY. An imprint of Pearson Education

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhalt. Vorbemerkungen... 1

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona

Inhaltsverzeichnis. Vorwort... 5 Grußwort von Safe Software Inc Über den Herausgeber Über die Autoren Einleitung...

Skalierbare Webanwendungen mit Python und Google App Engine

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

Inhaltsverzeichnis. Teil i: Die Grundlagen 19. ^sp^ Einführung 11

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Das Einsteigerseminar ASP

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

Inhaltsübersicht.

Linux-Camp: Linux als Server am Beispiel LAMP

Internettechnologien Vorlesung für Master-Studierende Geoinformatik/-management Sommersemester 2016

PHP eine Einführung. Dipl.-Inf. Frank Hofmann. 18. November Potsdam

Dreamweaver MX Eigene Websites im Handumdrehen! SUSANNE RUPP

Sitepark Information Enterprise Server - die Technologie-Plattform von Sitepark

Kapitel 4: PHP-Grundlagen Kapitel 5: PHP-Bausteine für Programme

<HTML DB> Web Application Development

CLASSROOM IN A BOOK. Adobe GoLive cs2

Erstellen von Web-Seiten HTML und mehr...

HTML Scripting. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 06. Dezember 2017

Mapbender Administration

Schnellinstallationsanleitung Timemaster WEB

Einleitung Erste Abfrage erstellen...2

Anleitung: Verbindung mit der Datenbank

Programmierung von Java- Webanwendungen. paluno

INHALTS VERZEICHNIS. Einleitung 11 Der lange Weg zu Expression Web 11 Was Expression Web von Dreamweaver und GoLive unterscheidet 15

i-net HelpDesk Erste Schritte

Microsoft.NET XML-Webdienste Schritt für Schritt

i i apitel apitel K K Inhalt Inhalt

JSP Usereingabe. Inhalt. 1 Zielsetzung. SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 2

Vortrag. Thema: Apache Struts + Tiles

1.1 Ein neues TYP03 entsteht Das Berlin-Manifesto Die Geburtsstunde von TYP03 Flow (FL0W3) Phoenix aus der Asche 21

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Datenbankgrundlagen 15. Kapitel 2 Mit FileMaker arbeiten ohne Vorkenntnisse 33

Inhaltsverzeichnis. Apps für Android entwickeln

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER

Benutzerhandbuch. Neukirchen

JSP mit Tomcat. jetzt lerne ich. Der einfache Einstieg ins dynamische Webpublishing mit JavaServer Pages. Markt+Technik

Transkript:

Einleitung 1 Rapid Web Development 1.1 Alle reden von Web 2.0 1.2 Was ist ein Web-Development-Framework? 1.3 Die zentralen Komponenten von TurboGears Python Kid-Templating CherryPy SQLObject Weitere Komponenten 1.4 Installation Python Eggs Python Package Index (Python Cheeseshop) Easylnstall Installation mit Easylnstall 1.5 2 Grundlagen der Web-Programmierung mit Python 2.1 Was ist ein Protokoll? 2.2 URIundURL 2.3 DasHTTP-Protokoll Startzeile einer Anfrage (Initial Request Line) Startzeile einer Antwort (Initial Response Line) Header 2.4 Serverseitige Web-Programmierung mit Python Ein einfacher HTTP-Server Zugriff auf statische Ressourcen CGI-Skripte CGI-Skripte auf einem lokalen Rechner testen CGI-Skripte auf einem Rechner mit Internetkonnektivität installieren Übergabe von Daten an das CGI-Skript Cookies Beispiel: Besuchszähler CGI-Skripte debuggen 2.5 Clientseitige Programmierung Zugriff auf Ressourcen - das Modul urllib 11 14 14 15 15 17 17 18 19 20 21 21 22 23 25 25 26 27 29 29 30 34 35 Bibliografische Informationen http://d-nb.info/98363 digitalisiert durch

2.6 2.7 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3. 3.14 E-Mails senden mit SMTP HTTP CGI smtplib CherryPy Idee, Geschichte, Versionen und Installation Einführendes Beispiel Der Controller-Baum Übergabe von Daten Daten aus einem HTML-Formular übergeben Daten in einem Pfad übergeben - die Methode default() Konfiguration Einführendes Beispiel: Wie ändert man den Port des Servers? Aufbau der Konfiguration Entwicklungsmodus und Produktionsmodus Filter Statische HTML-Seiten (staticjilter) Mehrere Filter für statische Seiten Eine einzige statische HTML-Seite für mehrere URLs (static_filter.file) Persistenz von Sitzungsdaten Speichern von Sitzungsdaten in Formularen Nutzung des Session-Objekts Konfiguration des Session-Managements Abbruch einer Session Dateien hochladen XML-RPC Anfrage Ein CherryPy-Server für XML-RPCs Das Python-Modul xmlrpclib Zugriff auf die HTTP-Header einer Anfrage (Request) Zugriff auf die HTTP-Header einer Antwort (Response) Der Quiz-Server - die Minimalversion Das MVC-Pattern (Model View Controller) Der Projektordner Model View Controller Konfiguration 40 43 43 44 45 46 51 53 54 56 60 60 61 62 63 63 66 67 68 68 71 73 77 77 80 80 81 81 84 85 87 89 90 C\C\ 90 93 96 101 101

3.15 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 5 5.1 cherrypy.request cherrypy.response Änderungen bei CherryPy 3.0 Object Relational Mappinq (ORM) Grundlagen relationaler Datenbanken Vom ER-Diagramm zum Relationenschema Eine MySQL-Datenbank erstellen Installation und Start des MySQL-Servers Login User einrichten Tabellen anlegen Datensätze einfügen Anfragen an eine SQL-Datenbank Anbindung eines Python-Programms an eine MySQL-Datenbank Verändern einer Tabelle Daten abfragen ORM mit SQLObject Abbildung einer Klasse durch eine Tabelle Objekte erzeugen und verändern Implementierung von l:n-beziehungen (one to many) Implementierung von n:m-beziehungen (many to many) Anfragen (Queries) SQLObject-Klassen erweitern SQL-Metadaten Quiz-Server MySQL Verarbeitung von zeitbezogenen Daten mit dem Python-Modul datetime SQLObject Gestaltung der Präsentation CSS-Stylesheets Stildeklarationen verwenden Stile für unterschiedliche Ausgabemedien Formate für HTML-Elemente deklarieren Klassen - das Attribut class Dekorative Hyperlinks Individualformate - das Attribut id Bedingte Formate Schriftgestaltung Absolute und relative Größenangaben 104 105 105 106 109 111 112 1 115 115 118 119 120 123 125 127 1 5 1 8 140 140 141 142 145 1 1 148 150 151 152 154 155 157 158 0

5.2 5.3 5.4 5.5 6 6.1 6.2 6.3 Farben Layout: Positionen, Abstände und Rahmen Templating mit Kid Einführendes Beispiel XHTML Template-Objekte erzeugen und serialisieren Einbettung von Python-Programmblöcken (PIs) Substitution von Ausdrücken Dynamisch erzeugter Text-Inhalt von XML-Elementen (py:replace, pyxontent) Bedingte Darstellung (py:if, py:strip) Dynamische Attribute Template-Funktionen (py:def) Match-Templates (py:match) Wiederverwendung von Template-Komponenten (py:extends) Layout-Templates (pydayout) Reihenfolge der Verarbeitung von py:-attributen Funktionen Präsentationsalgorithmik und MVC Eine Präsentation für den Quiz-Server Vorbereitung Statische Elemente - die CSS-Datei Gemeinsam verwendete Elemente - Match-Templates und Template-Funktionen Templates für die Webseiten Das Präsentationsmodul (view.py) CSS Kid TurboGears Eine erste Anwendung mit tg-admin quickstart Das Projekt anlegen Die Struktur des Projektordners Den Server starten Die Grundstruktur modifizieren und verstehen Präsentationsmanagement Das Master-Template Anwendungsbeispiel Modellmanagement Beispielprojekt: Modellierung von Marathonläufen Vorbereitung des Datenbanksystems Die Konfiguration modifizieren Das Modell definieren 4 4 172 172 174 176 178 181 183 185 188 190 193 196 198 200 200 203 207 207 208 210 211 218 219 219 223 2 225 225 226 227 228 230 232 233 236 239 239 U U r\a-t ) ' 1 cntvnckter.prtss 1

Tabellen erzeugen und löschen mit tg-admin sql 1 Den Zustand des Modells manipulieren mit tg-admin shell 3 Die Datenbank manipulieren mit CatWalk 3 Das Modell in das Projekt integrieren 5 6.4 Logging 254 6.5 Sprünge in Controller-Methoden - redirect() 256 6.6 Validierung und Behandlung von Eingabefehlern 258 6.7 Identitätsmanagement 267 Einführendes Beispiel 268 Das Identitätsmanagement im Controller anwenden 277 Das Identitätsmanagement in Kid-Templates anwenden 278 6.8 Juristische Vorgaben für den Betrieb einer Web-Plattform 279 6.9 Das K-Quiz mit TurboGears 280 Analyse 280 Projekt anlegen und Datenbank vorbereiten 281 Modell 282 Das gemeinsame Stylesheet 285 Allgemeiner Aufbau des Moduls controller.py 288 Startseite und Anwendungsfälle Login" und Logout" 290 Anwendungsfall Quiz spielen" 295 Anwendungsfall Registrieren" 300 Anwendungsfall Aufgabe editieren" 304 Anwendungsfall Aufgaben entfernen" 308 6.10 Das Projekt auf einem Produktionsserver veröffentlichen 312 Konfigurationsdateien 3 Die Projekte hochladen 3 Die Datenbank auf dem Produktionsserver vorbereiten 314 Den Server starten 314 Ein Python-Egg für das Projekt erzeugen 315 Das Python-Egg des Projekts auf dem Produktionsserver installieren 315 6.11 3 tg-admin 3 Funktionen 3 Validatoren 317 6.12 318 Stichwortverzeichnis 319