Django - ein Python Web-Framework

Werbung
Überblick
MVC im Detail
Live-Demo
Django - ein Python Web-Framework
Daniel Klaffenbach
31. Mai 2011
Daniel Klaffenbach
Django - ein Python Web-Framework
Wie geht es weiter?
Überblick
MVC im Detail
Inhaltsverzeichnis
1 Überblick
Was ist Django
Merkmale
Anforderungen
2 MVC im Detail
Model
Controller
View
3 Live-Demo
4 Wie geht es weiter?
Daniel Klaffenbach
Django - ein Python Web-Framework
Live-Demo
Wie geht es weiter?
Überblick
MVC im Detail
Live-Demo
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
Daniel Klaffenbach
Django - ein Python Web-Framework
Überblick
MVC im Detail
Live-Demo
Wie geht es weiter?
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
Daniel Klaffenbach
Django - ein Python Web-Framework
Überblick
MVC im Detail
Live-Demo
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
Daniel Klaffenbach
Django - ein Python Web-Framework
Wie geht es weiter?
Überblick
MVC im Detail
Live-Demo
Wie geht es weiter?
Model
Model
objektorientierte Repräsentation eines Datensatzes aus der
Datenbank
kapselt Daten
bietet Operationen auf den Daten an
beinhaltet die Geschäftslogik
Daniel Klaffenbach
Django - ein Python Web-Framework
Überblick
MVC im Detail
Live-Demo
Wie geht es weiter?
Model
Ein Model in Django
c l a s s B l o g P o s t ( m o d e l s . Model ) :
pub date = models . DateTimeField ( )
h e a d l i n e = m o d e l s . C h a r F i e l d ( m a x l e n g t h =255)
text =
models . T e x t F i e l d ( )
author =
models . ForeignKey ( User )
Liste möglicher Felder siehe Online-Dokumentation
Daniel Klaffenbach
Django - ein Python Web-Framework
Überblick
MVC im Detail
Live-Demo
Wie geht es weiter?
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
”
Daniel Klaffenbach
Django - ein Python Web-Framework
Überblick
MVC im Detail
Live-Demo
Wie geht es weiter?
Controller
URL-Config
from d j a n g o . 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
urlpatterns = patterns ( ’ ’ ,
#Web Root
u r l ( r ’ ˆ $ ’ , ’ MeinBlog . b l o g . v i e w s . i n d e x ’ ) ,
#A n z e i g e e i n e s E i n t r a g e s z . B . / v i e w /12/
u r l ( r ’ v i e w / ( \ d+)/ $ ’ ,
’ MeinBlog . b l o g . v i e w s . s h o w b l o g p o s t ’ ) ,
)
Daniel Klaffenbach
Django - ein Python Web-Framework
Überblick
MVC im Detail
Live-Demo
Wie geht es weiter?
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
Daniel Klaffenbach
Django - ein Python Web-Framework
Überblick
MVC im Detail
Live-Demo
Wie geht es weiter?
View
View Script
from b l o g . m o d e l s import B l o g P o s t
from d j a n g o . s h o r t c u t s import g e t o b j e c t o r 4 0 4 ,
render to response
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 ( B l o g P o s t , i d=p o s t i d )
r e t u r n 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 , } )
Daniel Klaffenbach
Django - ein Python Web-Framework
Überblick
MVC im Detail
Live-Demo
Wie geht es weiter?
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 . p u b d a t e }} von
{{ b l o g p o s t . a u t h o r }}</em>
<b r />
{{ b l o g p o s t . t e x t }}
</p>
Daniel Klaffenbach
Django - ein Python Web-Framework
Überblick
MVC im Detail
Live-Demo
Ziel
Erstellung eines einfachen Blogs
Daniel Klaffenbach
Django - ein Python Web-Framework
Live-Demo
Wie geht es weiter?
Überblick
MVC im Detail
Live-Demo
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
Daniel Klaffenbach
Django - ein Python Web-Framework
Wie geht es weiter?
Überblick
MVC im Detail
Live-Demo
Wie geht es weiter?
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
Daniel Klaffenbach
Django - ein Python Web-Framework
Herunterladen