root/docs/trunk/redirects.txt

Revision 85, 2.8 kB (checked in by richard, 2 years ago)

Ce document a été traduit par Yves Moya (chapi_)

Line 
1 =========================
2 Le module de redirections
3 =========================
4
5 Django fourni un module facultatif de gestion des redirections. Il vous permet
6 de stocker des redirections simples en base de données et de les déclancher
7 à votre place.
8
9 Installation
10 ============
11
12 Pour installer le module de gestion des redirections, suivez ces étapes :
13
14     1. Ajoutez ``'django.contrib.redirects'`` au paramètre INSTALLED_APPS_
15     2. Ajoutez ``'django.contrib.redirects.middleware.RedirectFallbackMiddleware'``
16        au paramètre MIDDLEWARE_CLASSES_
17     3. Executez la commande ``manage.py syncdb``
18
19 .. _INSTALLED_APPS: ../settings/#installed-apps
20 .. _MIDDLEWARE_CLASSES: ../settings/#middleware-classes
21
22 Comment ça marche
23 =================
24
25 ``manage.py syncdb`` crée une table ``django_redirect`` dans votre base de données. C'est une
26 simple table de consultation avec les champs (colonnes) ``site_id``, ``old_path`` et
27 ``new_path``.
28
29 Le ``RedirectFallbackMiddleware``fait tout le travail. Chaque fois qu'une application
30 Django rencontre une erreur 404, ce module interroge la table des redirections pour
31 l'URL demandée. En fait il recherche l'entrée ``site_id``, ``old_path`` avec
32 ``site_id`` pour valeur le paramètre SITE_ID_ et ``old_path`` pour valeur
33 l'URL demandée.
34
35     * S'il trouve une correspondance, et que la valeur de ``new_path`` n'est pas vide,
36         il redirige vers ``new_path``
37     * S'il trouve une correspondance, et que ``new_path`` est vide, il envoie un 410 ("Terminé")
38         et transmet un entête HTTP et une réponse vide (page sans contenu).
39     * S'il il ne trouve pas de correspondance, la requête suit le processus habituel.
40
41 Ce module n'est déclenché que sur les erreurs 404 -- non pas sur les erreurs 500 ou autres
42 codes d'état.
43
44 Remarquez que l'ordre des ``MIDDLEWARE_CLASSES`` est important. Habituellment on met le
45 ``RedirectFallbackMiddleware`` en fin de liste, c'est le dernier recours.
46
47 Pour en savoir plus sur les modules, lisez la doc `middleware docs`_.
48
49 .. _SITE_ID: ../settings/#site-id
50 .. _middleware docs: ../middleware/
51
52 Comment ajouter, modifier ou supprimer des redirections
53 =======================================================
54
55 Avec l'interface d'administration
56 ---------------------------------
57
58 Si vous avez activé l'inteface d'admin automatique de Django, vous devriez voir
59 une section "Redirects" sur la premiere page d'admin. Editez les redirections comme
60 vous editeriez les autres objets du système.
61
62 Avec API Python
63 ---------------
64
65 Les redirections sont représentés par un `Django model`_ standard, qui se trouve dans
66 `django/contrib/redirects/models.py`_. Vous pouvez accèder aux objets redirections au
67 travers de la `Django database API`_.
68
69 .. _Django model: ../model-api/
70 .. _django/contrib/redirects/models.py: http://code.djangoproject.com/browser/django/trunk/django/contrib/redirects/models.py
71 .. _Django database API: ../db-api/
72
Note: See TracBrowser for help on using the browser.