Web-Anwendungen mit Django

Teil 3: Django: Alternative zu PHP

Admin-Bereich erzeugen

Um den Admin-Bereich der Anwendung zu erstellen, fügen Sie in der settings-Datei die Anwendung django.contrib.admin zur Liste der INSTALLED_APPS hinzu. Rufen Sie syncdb erneut auf, um die Datenbank-Tabellen dafür erstellen zu lassen. Öffnen Sie die Datei urls.py und kommentieren Sie die zwei Zeilen nach uncomment the next two ... am Anfang der Datei aus. Entfernen Sie den Kommentar in der letzten Zeile nach Uncomment the next... ebenfalls.

PHP-Alternativen

© Archiv

Beim Hinzufügen neuer Einträge löst Django definierte Referenzen automatisch auf und liefert hier etwa eine Liste aller Mitarbeiter.

Um das Admin-Interface nutzen zu können, benötigen Sie jetzt noch eine Datei mit der Definition der Klassen, die administriert werden sollen. Erstellen Sie dazu im Anwendungsverzeichnis eine Datei admin.py. Dort wird für jede Klasse festgelegt, welche Optionen das Admin-Interface anzeigen soll:

list_display=(liste): definiert die Felder, die in der Übersichtsliste angezeigt werden. list_filter=feldname: zeigt einen Filter an, der die Ergebnisse nach der Auswahl der unterschiedlichen Feldeinträge sortiert.

search_fields= feldname: integriert eine Suchmaske in die Übersichtsliste. Die Feldnamen in der Liste geben an, welche Felder Django bei der Suche durchsuchen soll.

Für Company sieht der Eintrag folgendermaßen aus:

class CompanyAdmin(admin.ModelAdmin):
list_display = ('name',
'companytype')
list_filter = ['projects']
search_fields = ['name']

Anschließend wird die neu definierte Admin- Klasse noch in der Admin-Umgebung registriert und der Company-Klasse zugeordnet:

admin.site.register(Company,
CompanyAdmin)

Die Einträge für die anderen Model-Klassen sind entsprechend. Speichern Sie die Datei, starten Sie dann den Django-Entwicklungsserver mit

python manage.py runserver

und öffnen Sie im Browser die Adresse http://localhost:8000/admin. Falls Sie die Portnummer des Servers ändern wollen, genügt die Angabe einer entsprechenden Zahl nach runserver. Loggen Sie sich ein und fügen Sie zuerst eine neue Firma, und dann einige Mitarbeiter hinzu - der umgekehrte Vorgang ist nicht möglich, da jeder Mitarbeiter einer Firma zugeordnet sein muss, und das Feld nicht leer sein darf.

Erstellen Sie einige Projekte und Produkte. Testen Sie dann die Filter- und Suchfunktionen. Django löst alle Referenzen des Datenmodells korrekt auf und zeigt beispielsweise beim Anlegen eines neuen Mitarbeiters ein Dropdown mit allen zur Verfügung stehenden Firmen an.

Das gesamte automatisch generierte Admin-Interface ist dabei so leistungsfähig und gut zu bedienen, dass es auch als Killer-Feature von Django gilt. Ändern Sie in der Settings-Datei die Variable LANGUAGE_CODE von en-US auf de-DE, um das Admin-Interface auf Deutsch anzuzeigen.

Tipp: Beim Verwenden von Firefox unter Windows XP und Vista reagiert die Admin-Oberfläche quälend langsam, da die IPv6-Namensauflösung ganz offenbar Probleme verursacht. Zur Abhilfe geben Sie about:config ein, suchen Sie nach network.dns.disableIPv6 und setzen Sie den Wert auf true.

Admin anpassen

Natürlich lässt sich das Aussehen und das Layout des Admin-Bereichs ebenfalls anpassen. Da das Admin-Interface in Django programmiert ist, kommen dort ebenfalls Templates zum Einsatz. Standardmäßig werden die Template-Dateien unter [Python-Installationspfad]/Lib/site-packages/ django/contrib/admin/templates verwendet.

PHP-Alternativen

© Archiv

Der Admin-Bereich für Benutzer der Website wird ebenfalls automatisch erzeugt. Hier werden die Benutzerrechte vergeben und die Benutzergruppen zugewiesen.

Um eigene Templates zu entwerfen, erstellen Sie im Root-Verzeichnis Ihrer Website ein neues Verzeichnis templates und darin ein Unterverzeichnis admin und kopieren die Datei base_site.html aus oben genanntem Ordner dorthin.

Jetzt müssen Sie Django nur noch mitteilen, dass dieser Template-Pfad existiert. Öffnen Sie dazu Ihre settings.py und fügen Sie in die Liste TEMPLATE_DIRS den absoluten Pfad zu Ihrem Template-Verzeichnis ein. Achten Sie darauf, dass auch unter Windows nur der Backslash verwendet wird, also beispielsweise:

D:/daten/django/solarsite/templates

Die Admin-Oberfläche lässt sich natürlich noch weiter modifizieren und erweitern - mehr dazu lesen Sie in der ausführlichen Dokumentation von Django.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".