root/docs/trunk/shortcuts.txt

Revision 329, 4.5 kB (checked in by david, 2 years ago)

Corrections typos shortcuts

Line 
1 =================================
2 Fonctions de raccourcis de Django
3 =================================
4
5 Le module ``django.shortcuts`` contient un ensemble de fonctions et de classes
6 d'aide couvrant de multiples niveau de l'architecture MVC. En d'autres termes,
7 ces fonctions/classes introduisent un couplage contrÎlé, pour notre
8 commodité.
9
10 ``render_to_response()``
11 ========================
12
13 ``django.shortcuts.render_to_response`` rend un gabarit donné avec un
14 dictionnaire contextuel et retourne un objet ``HttpResponse`` de ce texte
15 rendu.
16
17 Arguments obligatoires
18 ----------------------
19
20 ``template``
21     Le nom complet du gabarit à utiliser.
22
23 Arguments optionnels
24 --------------------
25
26 ``dictionary``
27     Un dictionnaire de données à ajouter au contexte du gabarit. Par défaut,
28     il s'agit d'un dictionnaire vide. Si une valeur du dictionnaire est
29     exécutable, la vue l'appellera juste avant le rendu du gabarit.
30
31 ``context_instance``
32     L'instance contextuelle avec laquelle rendre le gabarit. Par défaut, le
33     gabarit sera rendu avec une instance ``Context`` (remplie avec les valeurs
34     de ``dictionary``). Si vous avez besoin d'un `context processors`_,
35     utilisez à la place une instance ``RequestContext`` pour rendre le
36     gabarit. Votre code ressemblera à quelque chose comme::
37
38         return render_to_response('mon_gabarit.html',
39                                   mon_dictionaire_de_donnees,
40                                   context_instance=RequestContext(request))
41
42 ``mimetype``
43     **Nouveau dans la version de développement de Django:** Le type MIME à
44     utiliser pour le document résultant. Par défaut utilise la valeur de la
45     propriété ``DEFAULT_CONTENT_TYPE``.
46
47 .. _`context processors`: ../templates_python/#subclassing-context-requestcontext
48
49 Exemple
50 -------
51
52 L'exemple suivant rend le gabarit ``monapp/index.html`` avec le type MIME
53 ``application/xhtml+xml``::
54
55     from django.shortcuts import render_to_response
56
57     def ma_vue(request):
58         # Code de la vue...
59         return render_to_response('monapp/index.html', {"foo": "bar"},
60             mimetype="application/xhtml+xml")
61
62 Cet exemple est équivalent à::
63
64     from django.http import HttpResponse
65     from django.template import Context, loader
66
67     def ma_vue(request):
68         # Code de la vue...
69         t = loader.get_template('monapp/template.html')
70         c = Context({'foo': 'bar'})
71         r = HttpResponse(t.render(c),
72             mimetype="application/xhtml+xml")
73
74 ``get_object_or_404``
75 =====================
76
77 ``django.shortcuts.get_object_or_404`` appelle `get()`_ sur un manager de
78 modÚle donné, mais elle lÚve ``django.http.Http404`` au lieu de l'exception
79 de modÚle ``DoesNotExist``.
80
81 Arguments obligatoires
82 ----------------------
83
84 ``klass``
85     Une instance de ``Model``, ``Manager`` ou ``QuerySet`` à partir duquel
86     récupérer l'objet.
87
88 ``**kwargs``
89     ParamÚtres de recherche, qui doivent être dans le format accepté par
90     ``get()`` et ``filter()``.
91
92 Exemple
93 -------
94
95 L'exemple suivant récupÚre un objet avec la clé primaire 1 pour ``MonModel``::
96
97     from django.shortcuts import get_object_or_404
98
99     def ma_vue(request):
100         mon_objet = get_object_or_404(MonModel, pk=1)
101
102 Cet exemple est équivalent à::
103
104     from django.http import Http404
105
106     def ma_vue(request):
107         try:
108             mon_objet = MonModel.objects.get(pk=1)
109         except MonModel.DoesNotExist:
110             raise Http404
111
112 Note: Tout comme ``get()``, une exception ``MultipleObjectsReturned`` sera
113 levée si plus d'un objet est retrouvé.
114
115 .. _get(): ../db-api/#get-kwargs
116
117 ``get_list_or_404``
118 ===================
119
120 ``django.shortcuts.get_list_or_404`` retourne le résultat de `filter()`_ sur
121 une manager de modÚle donné, levant ``django.http.Http404`` si la liste
122 résultante est vide.
123
124 Arguments obligatoires
125 ----------------------
126
127 ``klass``
128     Une instance de ``Model``, ``Manager`` ou ``QuerySet`` à partir duquel
129     récupérer l'objet.
130
131 ``**kwargs``
132     ParamÚtres de recherche, qui doivent être dans le format accepté par
133     ``get()`` et ``filter()``.
134
135 Exemple
136 -------
137
138 L'exemple suivant récupÚre tous les objets publiés pour ``MonModel``::
139
140     from django.shortcuts import get_list_or_404
141
142     def ma_vue(request):
143         mes_objets = get_list_or_404(MonModel, published=True)
144
145 Cet exemple est équivalent à::
146
147     from django.http import Http404
148
149     def ma_vue(request):
150         mes_objets = MonModel.objects.filter(published=True)
151         if not mes_objets:
152             raise Http404
153
154 .. _filter(): ../db-api/#filter-kwargs
Note: See TracBrowser for help on using the browser.