31. Mai 2011
Inhaltsverzeichnis 1 Überblick Was ist Django Merkmale Anforderungen 2 MVC im Detail Model Controller View 3 Live-Demo 4 Wie geht es weiter?
Was ist Django Was ist Django? quelloffenes Web-Framework (BSD-Lizenz) ermöglicht rapid Development folgt dem MVC Pattern ursprünglich entwickelt, um die Nachrichtenseite Lawrence Journal-World zu verwalten
Merkmale Features und Merkmale objektrelationaler Mapper Template-Engine Caching System Internationalisierung flexible Formularverarbeitung integrierter, leichtgewichtiger Webserver zur Entwicklung automatisch generierte Admin-Oberfläche Management-Shell
Anforderungen Anforderungen Python ab Version 2.4 Unterstützte Datenbanken: MySQL Oracle PostgreSQL SQLite weitere über inoffizielle Backends Webserver Webserver mit WSGI Unterstützung (z.b. Apache mit mod wsgi) Webserver mit FastCGI/SCGI Unterstützung
Model Model objektorientierte Repräsentation eines Datensatzes aus der Datenbank kapselt Daten bietet Operationen auf den Daten an beinhaltet die Geschäftslogik
Model Ein Model in Django c l a s s BlogPost ( models. Model ) : pub date = models. DateTimeField ( ) h e a d l i n e = models. C h a r F i e l d ( max length =255) t e x t = models. T e x t F i e l d ( ) a u t h o r = models. ForeignKey ( User ) Liste möglicher Felder siehe Online-Dokumentation
Controller Controller Als Controller kann das gesamte Framework betrachtet werden wichtiger Bestandteil: URL-Config mit Hilfe von regulären Ausdrücken werden URLs auf View-Funktionen gemappt URLs basieren nicht auf Ordernstruktur ermöglicht schöne und logische URLs
Controller URL-Config from django. c o n f. u r l s. d e f a u l t s import p a t t e r n s, u r l u r l p a t t e r n s = p a t t e r n s (, #Web Root u r l ( r ˆ$, MeinBlog. b l o g. v i e w s. i n d e x ), #Anzeige e i n e s E i n t r a g e s z. B. / view /12/ u r l ( r view /(\ d+)/$, MeinBlog. b l o g. v i e w s. s h o w b l o g p o s t ), )
View View Script Python-Callback-Funktion für eine bestimmte URL Aufgaben: Auswahl der Informationen, die dargestellt werden sollen Aufarbeitung der bereitzustellenden Daten Übergabe der aufbereiteten Daten i.d. Regel an ein HTML-Template
View View Script from b l o g. models import BlogPost from django. s h o r t c u t s import g e t o b j e c t o r 4 0 4, r e n d e r t o r e s p o n s e def s h o w b l o g p o s t ( r e q u e s t, p o s t i d ) : p o s t = g e t o b j e c t o r 4 0 4 ( BlogPost, i d=p o s t i d ) return r e n d e r t o r e s p o n s e ( v i e w p o s t. html, { b l o g p o s t : post, } )
View HTML-Template <h1>{{ b l o g p o s t. h e a d l i n e }}</h1> <p> <em>v e r o e f f e n t l i c h t am {{ b l o g p o s t. pub date }} von {{ b l o g p o s t. a u t h o r }}</em> <br /> {{ b l o g p o s t. t e x t }} </p>
Live-Demo Ziel Erstellung eines einfachen Blogs
Schritte 1 Installation von Django 2 Anlegen eines neuen Projektes 3 Anlegen einer Anwendung im Projekt 4 Konfigurieren des Projektes 5 Beschreibung der benötigten Modelle 6 Erkundung Admin-Oberfläche 7 Anlegen eines View-Scriptes und HTML Templates 8 Anpassen der URL Konfiguration
Wie geht es weiter? Projektseite: http://www.djangoproject.com/ Dokumentation: http://docs.djangoproject.com/en/1.3/ Django-Buch: http://www.djangobook.com/en/2.0/ Holovaty, Kaplan-Moss: The Definitive Guide to Django, ISBN: 978-1-430-21937-8