Django-de

Django Dokumentation

Die django.contrib Erweiterungen

Diese Dokumentation gilt für Djangos Entwicklerversion, die zum Teil erhebliche Unterschiede zur letzten veröffentlichen Version aufweist.

Django zielt darauf ab, Pythons “batteries included”-Philosophie (engl. Batterien inbegriffen) zu folgen. Es werden eine Reihe von Extras mitgeliefert, optionale Werkzeuge, die typische Probleme in der Web-Entwicklung lösen.

Der Quellcode befindet sich in django/contrib der Django-Distribution. Dieses Dokument bietet einen Überblick über die Pakete in contrib, sowie die Abhängigkeiten dieser Pakete.

Anmerkung

Für die meisten dieser Erweiterungen, vor allem für jene, die Models oder Template-Tags enthalten, wirst du den Namen des Paketes (z. B. 'django.contrib.admin') zu deinen INSTALLED_APPS-Einstellungen hinzufügen und den Befehl manage.py syncdb erneut ausführen müssen.

admin

Die automatische Django-Administrationsoberfläche. Für weitere Informationen, siehe Tutorial 2.

Erfordert, dass die auth- und contenttypes-Pakete installiert sind.

auth

Djangos Authentifizierung-Framework.

Siehe Authentifizierung-Dokumentation.

comments

Ein einfaches und dennoch flexibles Kommentar-System. Dieses ist noch nicht dokumentiert.

contenttypes

Ein einfaches Framework um sich in den “Typ” des Inhalts einzuhaken, da jedes installierte Django-Model ein eigenständiger Content-Typ ist.

Siehe contenttypes-Dokumentation.

csrf

Eine Middleware um gefälschte Cross-Site-Anfragen zu unterbinden.

Siehe csrf-Dokumentation.

flatpages

Ein Framework mit dem man einfachen “flachen” HTML-Inhalt in einer Datenbank verwalten kann.

Siehe flatpages-Dokumentation.

Erfordert, dass das sites contrib-Paket installiert ist.

formtools

Eine Sammlung von High-Level-Abstraktionen für Django-Formulare (django.newforms).

django.contrib.formtools.preview

Eine Abstraktion des folgenden Ablaufs:

“Zeige ein HTML-Formular an, erzwinge eine Vorschau und tue danach etwas mit der Eingabe.”

Siehe form preview-Dokumentation.

humanize

Eine Sammlung von Django-Template-Filtern die dazu dienen, “menschliche Note” zu den Daten hinzuzufügen. Um diese Filter zu aktivieren, füge 'django.contrib.humanize' in deinen Einstellungen unter INSTALLED_APPS hinzu. Wenn du das erledigt hast, benutze {% load humanize %} in einem Template und du hast Zugriff auf folgende Filter:

apnumber

Für die Zahlen 1-9 gibt es die Nummern buchstabiert aus. In allen anderen Fällen gibt es die Zahl zurück. Dies folgt dem Associated-Press-Stil.

Beispiele:

  • 1 wird 'one'.
  • 2 wird 'two'.
  • 10 wird 10.

Du kannst entweder einen Integer-Wert oder einen String eines Integers übergeben.

intcomma

Konvertiert einen Integer-Wert, dass er ein Komma alle drei Zeichen enthält.

Beispiele:

  • 4500 wird '4,500'.
  • 45000 wird '45,000'.
  • 450000 wird '450,000'.
  • 4500000 wird '4,500,000'.

Du kannst entweder einen Integer-Wert oder einen String eines Integers übergeben.

intword

Konvertiert einen großen Integer-Wert in eine lesbare Textdarstellung. Funktioniert am Besten für Zahlen über 1 Millionen.

Beispiele:

  • 1000000 wird '1.0 million'.
  • 1200000 wird '1.2 million'.
  • 1200000000 wird '1.2 billion'.

Werte bis zu 1000000000000000 (eine Billiarde) werden unterstützt.

Du kannst entweder einen Integer-Wert oder einen String eines Integers übergeben.

ordinal

Konvertiert einen Integer-Wert zu seiner Grundzahl als String.

Beispiele:

  • 1 wird '1st'.
  • 2 wird '2nd'.
  • 3 wird '3rd'.

Du kannst entweder einen Integer-Wert oder einen String eines Integers übergeben.

naturalday

Neu in Djangos Entwicklerversion

Für Daten, die der aktuelle Tag sind oder sich innerhalb eines Tages befinden, gibt der Filter entsprechend “today”, “tomorrow” oder “yesterday” aus. In allen anderen Fällen wird das Datum entsprechend des Datumformats formatiert.

Argument: Datumsformat wie im Standard-Tag now beschrieben.

Beispiele (wenn ‘today’ der 17. Februar 2007 ist):

  • 16. Februar 2007 wird zu yesterday.
  • 17. Februar 2007 wird zu today.
  • 18. Februar 2007 wird zu tomorrow.
  • Jeder andere Tag wird entsprechend des Datumformats oder nach der Einstellung von DATE_FORMAT formatiert, wenn kein anderes Argument eingestellt wurde.

localflavor

Eine Sammlung von verschiedenen Django-Snippets, die nur für ein bestimmtes Land oder Kultur nützlich sind. Zum Beispiel enthält django.contrib.localflavor.usa.forms ein USZipCodeField, das benutzt werden kann, um U.S.-Postleitzahlen zu validieren.

Siehe localflavor-Dokumentation.

markup

Eine Sammlung von Template-Filtern, die verbreitete Markup-Sprachen einbindet:

In jedem Fall erwartet der Filter formatiertes Markup als String und gibt einen String mit Markup-Text zurück. So konvertiert z. B. der textile-Filter Text, der im Textile-Format geschrieben ist, in HTML.

Um diese Filter zu aktivieren, füge django.contrib.markup' in den Einstellungen bei INSTALLED_APPS hinzu. Wenn dies erledigt ist, benutze {% load markup %} in einem Template, um Zugriff auf diese Filter zu bekommen. Für weitere Dokumentationen, lies den Quellcode in django/contrib/markup/templatetags/markup.py durch.

redirects

Ein Framwork mit dem man Weiterleitungen verwalten kann.

Siehe redirects-Dokumentation.

sessions

Ein Framework mit dem man Daten in anonymen Sessions speichern kann.

Siehe sessions-Dokumentation.

sites

Ein einfaches Framework, mit dem man mehrere Websites aus der gleichen Datenbank und Django-Installation benutzen kann. Es erzeugt Anker für zugehörige Objekte zu einer oder mehreren Seiten.

Siehe sites-Dokumentation.

sitemaps

Ein Framework, mit dem man XML-Dateien für Google-Sitemaps erzeugen kann.

Siehe sitemaps-Dokumentation.

syndication

Ein Framework mit dem man ziemlich einfach Feeds im RSS- und Atom-Format erzeugen kann.

Siehe syndication-Dokumentation.

webdesign

Diese Behelfsfunktionen und Utilities richten sich eher an Web-Designer als an Web-Entwickler.

Siehe Web design helpers-Dokumentation.

Andere Erweiterungen

Wenn du eine Idee für eine Funktionalität hast, die in contrib einbezogen weden sollte, lass es uns wissen! Programmiere sie und veröffentliche sie in der django-users Mailingliste.