Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Einführung in Django

1,863 views

Published on

Meine klitzekleine (theoretische) Einführung in Django, die ich bei der Python User Berlin Gruppe am 20.11.2008 gegeben habe.

Published in: Technology
  • Be the first to comment

Einführung in Django

  1. 1. Einführung in Django Jannis Leidel jannisleidel.com Python User Berlin, 20.11.2008
  2. 2. Was ist Django? Python-Web-Framework für schnelle, pragmatische Lösungen Im Verlag „The Lawrence Journal-World“ für den redaktionellen Einsatz entwickelt Abstrahiert oft gebrauchte Lösungen für sich wiederholende Probleme
  3. 3. Juhu, Abkürzungen MVC* ORM HTML* HTTP URL ETC
  4. 4. Überblick Models, Templates, Views? Objektrelationale Abbildung Erweiterbare Templates Request und Response Handling URLs und Code verknüpfen „batteries included“
  5. 5. Models, Templates und Views? Models: Deklaration von Datenmodellen für relationale Datenbanken Templates: Erweiterbares System zur Anzeige der Daten (z.B. HTML) Views: Request verarbeitende, Response zurückgebende Funktionen
  6. 6. Objektrelationale Abb. Datenbankabfragen ohne SQL, mit API Backends für PostgreSQL, MySQL, SQLite, Oracle, MS SQL* und andere many-to-many, many-to-one, one-to-one from myapp.models import MyModel #SELECT * FROM myapp_mymodel WHERE id=1; m = MyModel.objects.get(id=1)
  7. 7. Erweiterbare Templates Einfache Vererbung, erweiterbar mit Tags, Filtern und Context Prozessoren Webdesigner-freundlich {% extends quot;base.htmlquot; %} {% block content %} <h1>{{ title|upper }}</h1> {% endblock %}
  8. 8. Request und Response Requests parsen, Responses generieren Zugriff auf GET, POST, COOKIES, FILES, ... from django import http def hello(request): who = request.GET.get( ‘name‘, ‘world‘) return http.HttpResponse(who)
  9. 9. URLs und Code verknüpfen Reguläre Ausdrücke verweisen auf Python-Funktionen Saubere URLs urlpatterns = patterns(‘myapp.views‘ (r'^page/$', 'all'), (r'^page/(d+)/$', 'detail'), )
  10. 10. „batteries included“ Automatisches Admin, Formular- Handling, Authentifizierung, Comments, Internationalisierung, Feeds, Sitemaps, GIS, Caching, Sessions, Uploads, ... Jython, IronPython, PyPy, AppEngine 500+ django-* Anwendungen bei Google Code, Github und Bitbucket, ~50 im Python Package Index
  11. 11. Tutorial http://j03.de/talks/2008-11-django-tutorial-pub/

×