Code

TranslateDocumentation: flatpages_de-20061123.txt

File flatpages_de-20061123.txt, 5.1 KB (added by Dirk Eschler <dirk.eschler@…>, 8 years ago)

Several style updates and a typo fix for flatpages_de.txt

Line 
1===========================
2Die Applikation "flatpages"
3===========================
4
5Django wird mit einer optional einsetzbaren Applikation namens "flatpages" ausgeliefert. Sie ermöglicht, einfachen HTML-Content in einer Datenbank abzulegen. Die Verwaltung ist sowohl über Djangos Administrations-Interface, als auch über die Python API realisiert.
6
7Bei einer Flatpage handelt es sich um ein einfaches Objekt, bestehend aus einer URL, einem Titel und dem Inhalt. Sie kann für beliebige Seiten verwendet werden. Gute Beispiele sind das Impressum oder die rechtlichen Hinweise einer Webseite, die zwar in der Datenbank abgelegt werden sollen, aber für die keine eigene Django-Applikation entwickelt werden soll.
8
9Eine Flatpage kann ein angepasstes oder ein systemweites Standard-Template verwenden. Sie kann mit einer beliebigen Anzahl von Seiten verknüpft werden.
10
11Hier einige Beispiele für Webseiten, die Django einsetzen und Flatpages verwenden:
12
13    * http://www.chicagocrime.org/about/
14    * http://www.lawrence.com/about/contact/
15
16Installation
17============
18
19Um die Applikation Flatpages zu installieren, sind folgende Schritte notwendig:
20
21    1. ``'django.contrib.flatpages'`` zur Einstellung INSTALLED_APPS_ hinzufügen.
22    2. ``'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware'`` zur Einstellung MIDDLEWARE_CLASSES_ hinzufügen.
23    3. Den Befehl ``manage.py syncdb`` ausführen.
24
25.. _INSTALLED_APPS: http://www.djangoproject.com/documentation/settings/#installed-apps
26.. _MIDDLEWARE_CLASSES: http://www.djangoproject.com/documentation/settings/#middleware-classes
27
28Was steckt dahinter
29===================
30
31``manage.py syncdb`` legt zwei Tabellen in der Datenbank an: ``django_flatpage`` und ``django_flatpage_sites``.
32Bei ``django_flatpage`` handelt es sich um eine einfache Zuordnungstabelle, die eine URL mit einem Titel und einigem textuellen Inhalt verbindet. ``django_flatpage_sites`` hingegen verbindet eine Flatpage mit einer Seite.
33
34Die eigentliche Hauptarbeit verrichtet die ``FlatpageFallbackMiddleware``. Jedes mal wenn eine Django-Applikation einen 404-Fehler produziert, überprüft die Middleware die Flatpage-Datenbank auf eine registrierte URL hin. Im Einzelnen wird dabei überprüft, ob eine Flatpage mit der angegebenen URL und Seiten-ID existiert, die mit der SITE_ID_ Einstellung übereinstimmt.
35
36Wurde eine Übereinstimmung gefunden, wird wie folgt vorgegangen:
37
38    * Falls die Flatpage ein angepasstes Template besitzt, wird dieses geladen. Sonst wird das Template ``flatpages/default`` geladen.
39    * Dem Template wird die Kontext-Variable ``flatpage`` übergeben, welche das Flatpage-Objekt darstellt. Das Rendern des Templates übernimmt ein RequestContext_.
40
41Wird keine Übereinstimmung gefunden, wird die Verarbeitung der Anfrage ganz normal weitergeführt.
42
43Die Middleware wird nur im Falle eines 404 aktiviert, nicht aber bei einem 500 oder einem anderen Statuscodes.
44
45Zu beachten ist, dass die Reihenfolge der ``MIDDLEWARE_CLASSES`` eine Rolle spielt. Dabei kann die ``FlatpageFallbackMiddleware`` an das Ende der Liste möglicher Einträge gesetzt werden, da sie grundsätzlich als letztes verwendet wird.
46
47Mehr Informationen über Middleware finden sich in den `middleware docs`_.
48
49.. _SITE_ID: http://www.djangoproject.com/documentation/settings/#site-id
50.. _RequestContext: http://www.djangoproject.com/documentation/templates_python/#subclassing-context-djangocontext
51.. _middleware docs: http://www.djangoproject.com/documentation/middleware/
52
53Hinzufügen, ändern und löschen von Flatpages
54============================================
55
56Mit Hilfe des Admin-Interfaces
57------------------------------
58
59Falls Djangos automatisches Admin-Interface aktiviert ist, sollte auf der Index-Seite ein Abschnitt "Flatpages" auftauchen. Die Flatpages lassen sich wie jedes andere Objekt im System editieren.
60
61Mit Hilfe der Python API
62------------------------
63
64Flatpages werden durch ein Standard-`Django model`_ repräsentiert, welches unter `django/contrib/flatpages/models.py`_ zu finden ist. Auf Flatpage-Objekte kann mit Hilfe der `Django database API`_ zugegriffen werden.
65
66.. _Django model: http://www.djangoproject.com/documentation/model_api/
67.. _django/contrib/flatpages/models.py: http://code.djangoproject.com/browser/django/trunk/django/contrib/flatpages/models.py
68.. _Django database API: http://www.djangoproject.com/documentation/db_api/
69
70Flatpage Templates
71==================
72
73Standardmäßig werden Flatpages mit dem Template ``flatpages/default.html`` gerendert, welches sich aber auch für spezielle Flatpages überschreiben lässt.
74
75Die Datei ``flatpages/default.html`` muss von Hand erzeugt werden. Innerhalb des Template-Verzeichnisses ist dazu lediglich ein Verzeichnis ``flatpages`` anzulegen, das die Datei ``default.html`` enthält.
76
77Den Flatpage-Templates wird die Kontext-Variable ``flatpage`` übergeben, welche ein Flatpage-Objekt darstellt.
78
79Im Folgenden ein Beispiel-Template für ``flatpages/default.html``::
80
81    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
82        "http://www.w3.org/TR/REC-html40/loose.dtd">
83    <html>
84    <head>
85    <title>{{ flatpage.title }}</title>
86    </head>
87    <body>
88    {{ flatpage.content }}
89    </body>
90    </html>