• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Der Django-Admin-Bereich im Überblick
 

Der Django-Admin-Bereich im Überblick

on

  • 760 views

Vortrag auf der PyConDE 2012 am 31. Oktober 2012.

Vortrag auf der PyConDE 2012 am 31. Oktober 2012.

Statistics

Views

Total Views
760
Views on SlideShare
760
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Der Django-Admin-Bereich im Überblick Der Django-Admin-Bereich im Überblick Presentation Transcript

    • 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
    • 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
    • Ü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
    • Um was geht es?Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • ViewsObjektlisteGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
    • ViewsObjektlisteGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
    • 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
    • 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
    • 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
    • ViewsDetailansichtGrundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
    • 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
    • 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
    • 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
    • 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
    • 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
    • Weiterführende ThemenRead the Source!Grundlegende Konfiguration Views Methoden des ModelAdmin Weiterführende Themen Vorteile & Nachteile... ...... Django-Admin-Bereich / Andi Albrecht / PyCon DE 2012
    • 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
    • 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