Der Django-Admin-Bereich im                               Überblick                                           Andi Albrech...
Andi Albrecht – @andialbrecht               Erster Python-Kontakt vor etwa 10 Jahren als               Studentische Hilfsk...
Übersicht       Grundlegende Konfiguration       Views       Methoden des ModelAdmin       Weiterführende Themen       Vor...
Um was geht es?Grundlegende Konfiguration   Views    Methoden des ModelAdmin     Weiterführende Themen         Vorteile & ...
Grundlegende KonfigurationAutodiscover & Sites       settings.py       INSTALLED_APPS = (         …         ’django.contri...
Grundlegende KonfigurationAutodiscover & Sites       settings.py       INSTALLED_APPS = (         …         ’django.contri...
Grundlegende KonfigurationAutodiscover & Sites       settings.py       INSTALLED_APPS = (         …         ’django.contri...
Grundlegende KonfigurationAutodiscover & Sites       settings.py       INSTALLED_APPS = (         …         ’django.contri...
Grundlegende KonfigurationAdmin-Models für Models       myapp       |– __init__.py       |– views.py       |– models.py   ...
Grundlegende KonfigurationAdmin-Models für Models       myapp       |– __init__.py       |– views.py       |– models.py   ...
Grundlegende KonfigurationAdmin-Models für Models       myapp       |– __init__.py       |– views.py       |– models.py   ...
Grundlegende KonfigurationBerechtigungen               Admin-Bereich baut auf Apps Ñ Models Ñ               Berechtigungen...
ViewsÜbersicht         App-Dashboard                Alle Apps mit Zugriff auf mind. 1 Model           ë Model-Liste       ...
ViewsObjektlisteGrundlegende Konfiguration   Views    Methoden des ModelAdmin     Weiterführende Themen         Vorteile &...
ViewsObjektlisteGrundlegende Konfiguration   Views    Methoden des ModelAdmin     Weiterführende Themen         Vorteile &...
ViewsObjektliste, Konfiguration       class AuthorAdmin(admin.ModelAdmin):           list_display = (’id’, ’__unicode__’, ...
ViewsObjektliste, Konfiguration       class AuthorAdmin(admin.ModelAdmin):           list_display = (’id’, ’__unicode__’, ...
ViewsObjektliste, Konfiguration       class Author(models.Model):           first_name = models.CharField(max_length=100, ...
ViewsDetailansichtGrundlegende Konfiguration   Views    Methoden des ModelAdmin     Weiterführende Themen         Vorteile...
ViewsDetailansicht, Konfiguration       class BookInline(admin.TabularInline):           model = models.Book       class A...
Methoden des ModelAdminObjekte, Objektlisten               save|delete_model(self, request, obj[,               form, chan...
Methoden des ModelAdminViews, Forms               get_form(self, request, obj=None, **kwargs)               get_readonly_f...
Weiterführende Themen               Anpassung von Templates               Anpassung des gesamten LookFeels (django-admin-t...
Weiterführende ThemenRT(F)D       https://docs.djangoproject.com/en/1.4/ref/contrib/admin/Grundlegende Konfiguration   Vie...
Weiterführende ThemenRead the Source!Grundlegende Konfiguration   Views    Methoden des ModelAdmin     Weiterführende Them...
Vorteile & Nachteile               Admin-Bereich Out-of-the-box, nur wenig Konfiguration               nötig              ...
Danke!                E-Mail albrecht@prounix.de                       albrecht.andi@gmail.com                Twitter @and...
Nächste SlideShare
Wird geladen in …5
×

Der Django-Admin-Bereich im Überblick

863 Aufrufe

Veröffentlicht am

Vortrag auf der PyConDE 2012 am 31. Oktober 2012.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
863
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Der Django-Admin-Bereich im Überblick

  1. 1. Der Django-Admin-Bereich im Überblick Andi Albrecht PyCon DE 2012 31. Oktober 2012Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  2. 2. Andi Albrecht – @andialbrecht Erster Python-Kontakt vor etwa 10 Jahren als Studentische Hilfskraft bei der DFG Aktuell: Anwendungsentwickler für Webapplikationen bei ProUnix in Bonn Entwicklung und Pflege mittlerer und großer Systeme OpenSource: Rietveld Code Review Tool, python-sqlparse, CrunchyFrog, hgsvn, ...Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  3. 3. Übersicht Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & NachteileGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  4. 4. Um was geht es?Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  5. 5. Grundlegende KonfigurationAutodiscover & Sites settings.py INSTALLED_APPS = ( … ’django.contrib.admin’, … ) urls.py from django.contrib import admin admin.autodiscover() urlpatterns = patterns(”, … url(r’^admin/’, include(admin.site.urls)), … )Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  6. 6. Grundlegende KonfigurationAutodiscover & Sites settings.py INSTALLED_APPS = ( … ’django.contrib.admin’, Ñ Admin ist eine App … ) urls.py from django.contrib import admin admin.autodiscover() urlpatterns = patterns(”, … url(r’^admin/’, include(admin.site.urls)), … )Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  7. 7. Grundlegende KonfigurationAutodiscover & Sites settings.py INSTALLED_APPS = ( … ’django.contrib.admin’, Ñ Admin ist eine App … ) urls.py from django.contrib import admin admin.autodiscover() Ñ sucht nach admin.py in Apps urlpatterns = patterns(”, … url(r’^admin/’, include(admin.site.urls)), … )Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  8. 8. Grundlegende KonfigurationAutodiscover & Sites settings.py INSTALLED_APPS = ( … ’django.contrib.admin’, Ñ Admin ist eine App … ) urls.py from django.contrib import admin admin.autodiscover() Ñ sucht nach admin.py in Apps urlpatterns = patterns(”, … Ñ URLs der Default-Admin-Site url(r’^admin/’, include(admin.site.urls)), … )Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  9. 9. Grundlegende KonfigurationAdmin-Models für Models myapp |– __init__.py |– views.py |– models.py |– admin.pyGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  10. 10. Grundlegende KonfigurationAdmin-Models für Models myapp |– __init__.py |– views.py |– models.py |– admin.py from django.contrib import admin from library import models class BookAdmin(admin.ModelAdmin): pass admin.site.register(models.Book, BookAdmin) admin.site.register(models.Author, admin.ModelAdmin) admin.site.register(models.Publisher, admin.ModelAdmin)Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  11. 11. Grundlegende KonfigurationAdmin-Models für Models myapp |– __init__.py |– views.py |– models.py |– admin.py from django.contrib import admin from library import models class BookAdmin(admin.ModelAdmin): pass admin.site.register(models.Book, BookAdmin) admin.site.register(models.Author, admin.ModelAdmin) admin.site.register(models.Publisher, admin.ModelAdmin)Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  12. 12. Grundlegende KonfigurationBerechtigungen Admin-Bereich baut auf Apps Ñ Models Ñ Berechtigungen auf Zugang zum Admin nur für aktive User mit is_staff-Flag (Redakteur) Superuser darf immer alles (war ja klar...) Sichtbarkeit von Models / Apps richtet sich dann nach Model-Berechtigungen: MyModel.can_add MyModel.can_change MyModel.can_delete Achtung: Keine Berechtigung MyModel.can_view!Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  13. 13. ViewsÜbersicht App-Dashboard Alle Apps mit Zugriff auf mind. 1 Model ë Model-Liste Alle Models einer App auf die ein Nutzer Zugriff hat ë Objektliste Alle(!) Objekte zu einem Model ë Detailansicht Formular zum Bearbeiten eines ObjektsGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  14. 14. ViewsObjektlisteGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  15. 15. ViewsObjektlisteGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  16. 16. ViewsObjektliste, Konfiguration class AuthorAdmin(admin.ModelAdmin): list_display = (’id’, ’__unicode__’, ’num_books’) list_display_links = (’id’, ’__unicode__’) search_fields = (’first_name’, ’last_name’, ’book__title’) list_filter = (’book__publisher__name’,) def num_books(self, obj): return obj.book_set.count() num_books.short_description = _(u’Number of books’) admin.site.register(models.Author, AuthorAdmin)Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  17. 17. ViewsObjektliste, Konfiguration class AuthorAdmin(admin.ModelAdmin): list_display = (’id’, ’__unicode__’, ’num_books’) list_display_links = (’id’, ’__unicode__’) search_fields = (’first_name’, ’last_name’, ’book__title’) list_filter = (’book__publisher__name’,) def num_books(self, obj): return obj.book_set.count() # DB-Abfrage je Objekt! num_books.short_description = _(u’Number of books’) admin.site.register(models.Author, AuthorAdmin)Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  18. 18. ViewsObjektliste, Konfiguration class Author(models.Model): first_name = models.CharField(max_length=100, verbose_name=_(u’First name’)) last_name = models.CharField(max_length=100, verbose_name=_(u’Last name’)) def __unicode__(self): return u’%s %s’ % (self.first_name, self.last_name) class Meta: verbose_name = _(u’Author’) verbose_name_plural = _(u’Authors’)Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  19. 19. ViewsDetailansichtGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  20. 20. ViewsDetailansicht, Konfiguration class BookInline(admin.TabularInline): model = models.Book class AuthorAdmin(admin.ModelAdmin): [...] inlines = [BookInline,] [...]Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  21. 21. Methoden des ModelAdminObjekte, Objektlisten save|delete_model(self, request, obj[, form, change]) get_ordering(self, request) queryset(self, request)Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  22. 22. Methoden des ModelAdminViews, Forms get_form(self, request, obj=None, **kwargs) get_readonly_fields(self, request) get_urls(self) add|change|changelist|delete_view (self, request[, object_id, ...])Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  23. 23. Weiterführende Themen Anpassung von Templates Anpassung des gesamten LookFeels (django-admin-tools, Grappelli) Hinzufügen eigener Views (Stichwort: ModelAdmin.get_urls()) Hinzufügen eigener Aktionen auf Objekten Hinzufügen eigener FilterGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  24. 24. Weiterführende ThemenRT(F)D https://docs.djangoproject.com/en/1.4/ref/contrib/admin/Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  25. 25. Weiterführende ThemenRead the Source!Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  26. 26. Vorteile & Nachteile Admin-Bereich Out-of-the-box, nur wenig Konfiguration nötig Administration von Daten, Aufbau von Test-Daten Nebenbei Geenprüfung der Datenstrukturen für Entwickler Einfach konfigurierbar, in vielen Details konfigurierbar "dicke" Apps nutzen den Admin-Bereich (CMS, Shop) Admin-Bereich bildet eine technische Sicht (Datenbank) ab, aber keine fachliche Nutzer brauchen Staff-Flag Versuch, den Admin-Bereich Endnutzer-freundlich zu gestalten scheitert Admin-Bereich ist für versierte BenutzerGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
  27. 27. Danke! E-Mail albrecht@prounix.de albrecht.andi@gmail.com Twitter @andialbrecht Homepage http://andialbrecht.de http://www.prounix.de/unternehmen/jobs/python/ prounix.deGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012

×