{"title":"Les fonctions raccourcis de Django","version":"1.9","locale":"fr","docname":"topics/http/shortcuts","url":"/fr/1.9/topics/http/shortcuts/","canonical":"https://djangodocs.dev/fr/1.9/topics/http/shortcuts/","summary":"Le paquet django.shortcuts rassemble des fonctions et des classes utilitaires qui recouvrent plusieurs niveaux de l’architecture MVC. En d’autres termes, ces…","html":"<span id=\"django-shortcut-functions\"></span><h1>Les fonctions raccourcis de Django<a class=\"heading-anchor\" href=\"#module-django.shortcuts\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p id=\"index-0\">Le paquet <code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts</span></code> rassemble des fonctions et des classes utilitaires qui recouvrent plusieurs niveaux de l’architecture MVC. En d’autres termes, ces fonctions/classes introduisent un couplage contrôlé à des fins de commodité.</p>\n<section id=\"render\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">render()</span></code><a class=\"heading-anchor\" href=\"#render\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.render\">\n<span class=\"sig-name descname\"><span class=\"pre\">render</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">template_name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">context</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">context_instance</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">_context_instance_undefined</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_type</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">status</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">current_app</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">_current_app_undefined</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">dirs</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">_dirs_undefined</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">using</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.shortcuts.render\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Combine un gabarit donné avec un dictionnaire contexte donné et renvoie un objet <a class=\"reference internal\" href=\"/fr/1.9/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpResponse</span></code></a> avec le texte résultant.</p>\n<p>Django ne met pas à disposition de fonction raccourci renvoyant une réponse <a class=\"reference internal\" href=\"/fr/1.9/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a> parce que le constructeur de <a class=\"reference internal\" href=\"/fr/1.9/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a> présente le même niveau de flexibilité que <a class=\"reference internal\" href=\"#django.shortcuts.render\" title=\"django.shortcuts.render\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">render()</span></code></a>.</p>\n</dd></dl>\n\n<section id=\"required-arguments\">\n<h3>Paramètres obligatoires<a class=\"heading-anchor\" href=\"#required-arguments\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code></dt><dd><p>L’objet requête utilisé pour générer la réponse.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code></dt><dd><p>Le nom complet d’un gabarit à utiliser ou une liste de noms de gabarits. Si une liste est donnée, le premier gabarit de la liste qui est trouvé sera utilisé. Consultez la <a class=\"reference internal\" href=\"/fr/1.9/topics/templates/#template-loading\"><span class=\"std std-ref\">documentation du chargement de gabarits</span></a> pour plus d’informations sur la façon dont les gabarits sont recherchés.</p>\n</dd>\n</dl>\n</section>\n<section id=\"optional-arguments\">\n<h3>Paramètres facultatifs<a class=\"heading-anchor\" href=\"#optional-arguments\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">context</span></code></dt><dd><p>Un dictionnaire de valeurs à ajouter un contexte du gabarit. Par défaut, ce dictionnaire est vide. Si une des valeurs du dictionnaire est exécutable, la vue l’appellera immédiatement avant de faire le rendu du gabarit.</p>\n<aside class=\"version-note version-changed\" data-version=\"1.8\">\n<p class=\"version-note-title\">Changed in Django 1.8</p><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">context</span></code> était appelé <code class=\"docutils literal notranslate\"><span class=\"pre\">dictionary</span></code>. Ce nom est obsolète dans Django 1.8 et sera supprimé dans Django 1.10.</p>\n</aside>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">context_instance</span></code></dt><dd><p>L’instance de contexte avec laquelle effectuer le rendu du gabarit. Par défaut, le gabarit sera rendu avec une instance <code class=\"docutils literal notranslate\"><span class=\"pre\">RequestContext</span></code> (complétée par des valeurs de <code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">context</span></code>).</p>\n<aside class=\"version-note version-deprecated\" data-version=\"1.8\">\n<p class=\"version-note-title\">Deprecated since Django 1.8</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.8: </span>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">context_instance</span></code> est obsolète. Utilisez simplement <code class=\"docutils literal notranslate\"><span class=\"pre\">context</span></code>.</p>\n</aside>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code></dt><dd><p>Le type MIME à utiliser pour le document produit. La valeur par défaut est celle du réglage <a class=\"reference internal\" href=\"/fr/1.9/ref/settings/#std-setting-DEFAULT_CONTENT_TYPE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_CONTENT_TYPE</span></code></a>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">status</span></code></dt><dd><p>Le code d’état de la réponse. La valeur par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">200</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">current_app</span></code></dt><dd><p>Une indication de l’application contenant la vue actuelle. Consultez la <a class=\"reference internal\" href=\"/fr/1.9/topics/http/urls/#topics-http-reversing-url-namespaces\"><span class=\"std std-ref\">stratégie de résolution des URL en espaces de noms</span></a> pour plus d’informations.</p>\n<aside class=\"version-note version-deprecated\" data-version=\"1.8\">\n<p class=\"version-note-title\">Deprecated since Django 1.8</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.8: </span>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">current_app</span></code> est obsolète. Vous devriez plutôt définir <code class=\"docutils literal notranslate\"><span class=\"pre\">request.current_app</span></code>.</p>\n</aside>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">using</span></code></dt><dd><p>Le nom <a class=\"reference internal\" href=\"/fr/1.9/ref/settings/#std-setting-TEMPLATES-NAME\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">NAME</span></code></a> d’un moteur de gabarit à utiliser pour charger le gabarit.</p>\n</dd>\n</dl>\n<aside class=\"version-note version-changed\" data-version=\"1.8\">\n<p class=\"version-note-title\">Changed in Django 1.8</p><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">using</span></code> a été ajouté.</p>\n</aside>\n<aside class=\"version-note version-deprecated\" data-version=\"1.8\">\n<p class=\"version-note-title\">Deprecated since Django 1.8</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.8: </span>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">dirs</span></code> a été rendu osbolète.</p>\n</aside>\n</section>\n<section id=\"example\">\n<h3>Exemple<a class=\"heading-anchor\" href=\"#example\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>L’exemple suivant effectue le rendu du gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">myapp/index.html</span></code> avec le type MIME <em class=\"mimetype\">application/xhtml+xml</em>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.shortcuts</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">render</span>\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"c1\"># View code here...</span>\n    <span class=\"k\">return</span> <span class=\"n\">render</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">,</span> <span class=\"s1\">&#39;myapp/index.html&#39;</span><span class=\"p\">,</span> <span class=\"p\">{</span>\n        <span class=\"s1\">&#39;foo&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;bar&#39;</span><span class=\"p\">,</span>\n    <span class=\"p\">},</span> <span class=\"n\">content_type</span><span class=\"o\">=</span><span class=\"s1\">&#39;application/xhtml+xml&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cet exemple est équivalent à :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.http</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">HttpResponse</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.template</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">loader</span>\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"c1\"># View code here...</span>\n    <span class=\"n\">t</span> <span class=\"o\">=</span> <span class=\"n\">loader</span><span class=\"o\">.</span><span class=\"n\">get_template</span><span class=\"p\">(</span><span class=\"s1\">&#39;myapp/index.html&#39;</span><span class=\"p\">)</span>\n    <span class=\"n\">c</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;foo&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;bar&#39;</span><span class=\"p\">}</span>\n    <span class=\"k\">return</span> <span class=\"n\">HttpResponse</span><span class=\"p\">(</span><span class=\"n\">t</span><span class=\"o\">.</span><span class=\"n\">render</span><span class=\"p\">(</span><span class=\"n\">c</span><span class=\"p\">,</span> <span class=\"n\">request</span><span class=\"p\">),</span> <span class=\"n\">content_type</span><span class=\"o\">=</span><span class=\"s1\">&#39;application/xhtml+xml&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"render-to-response\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">render_to_response()</span></code><a class=\"heading-anchor\" href=\"#render-to-response\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.render_to_response\">\n<span class=\"sig-name descname\"><span class=\"pre\">render_to_response</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">template_name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">context</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">context_instance</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">_context_instance_undefined</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">content_type</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">status</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">dirs</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">_dirs_undefined</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">using</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.shortcuts.render_to_response\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cette fonction a précédé l’introduction de <a class=\"reference internal\" href=\"#django.shortcuts.render\" title=\"django.shortcuts.render\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">render()</span></code></a> et fonctionne de manière similaire, sauf qu’elle ne rend pas la requête disponible dans la réponse. Elle n’est plus recommandée et va probablement être rendue obsolète à l’avenir.</p>\n</dd></dl>\n\n<section id=\"id1\">\n<h3>Paramètres obligatoires<a class=\"heading-anchor\" href=\"#id1\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code></dt><dd><p>Le nom complet d’un gabarit à utiliser ou une liste de noms de gabarits. Si une liste est donnée, le premier gabarit de la liste qui est trouvé sera utilisé. Consultez la <a class=\"reference internal\" href=\"/fr/1.9/topics/templates/#template-loading\"><span class=\"std std-ref\">documentation du chargement de gabarits</span></a> pour plus d’informations sur la façon dont les gabarits sont recherchés.</p>\n</dd>\n</dl>\n</section>\n<section id=\"id2\">\n<h3>Paramètres facultatifs<a class=\"heading-anchor\" href=\"#id2\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">context</span></code></dt><dd><p>Un dictionnaire de valeurs à ajouter un contexte du gabarit. Par défaut, ce dictionnaire est vide. Si une des valeurs du dictionnaire est exécutable, la vue l’appellera immédiatement avant de faire le rendu du gabarit.</p>\n<aside class=\"version-note version-changed\" data-version=\"1.8\">\n<p class=\"version-note-title\">Changed in Django 1.8</p><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">context</span></code> était appelé <code class=\"docutils literal notranslate\"><span class=\"pre\">dictionary</span></code>. Ce nom est obsolète dans Django 1.8 et sera supprimé dans Django 1.10.</p>\n</aside>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">context_instance</span></code></dt><dd><p>L’instance de contexte avec laquelle effectuer le rendu du gabarit. Par défaut, le gabarit sera rendu avec une instance <a class=\"reference internal\" href=\"/fr/1.9/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Context</span></code></a> (complétée par des valeurs de <code class=\"docutils literal notranslate\"><span class=\"pre\">context</span></code>). Si vous avez besoin d’utiliser des <a class=\"reference internal\" href=\"/fr/1.9/ref/templates/api/#subclassing-context-requestcontext\"><span class=\"std std-ref\">processeurs de contexte</span></a>, produisez plutôt le gabarit avec une instance <a class=\"reference internal\" href=\"/fr/1.9/ref/templates/api/#django.template.RequestContext\" title=\"django.template.RequestContext\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RequestContext</span></code></a>. Votre code pourrait ressembler à ceci :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">return</span> <span class=\"n\">render_to_response</span><span class=\"p\">(</span><span class=\"s1\">&#39;my_template.html&#39;</span><span class=\"p\">,</span>\n                          <span class=\"n\">my_context</span><span class=\"p\">,</span>\n                          <span class=\"n\">context_instance</span><span class=\"o\">=</span><span class=\"n\">RequestContext</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">))</span>\n</code></pre></div>\n<aside class=\"version-note version-deprecated\" data-version=\"1.8\">\n<p class=\"version-note-title\">Deprecated since Django 1.8</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.8: </span>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">context_instance</span></code> est obsolète. Utilisez plutôt la fonction <a class=\"reference internal\" href=\"#django.shortcuts.render\" title=\"django.shortcuts.render\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">render()</span></code></a> qui rend toujours disponible l’objet <code class=\"docutils literal notranslate\"><span class=\"pre\">RequestContext</span></code>.</p>\n</aside>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code></dt><dd><p>Le type MIME à utiliser pour le document produit. La valeur par défaut est celle du réglage <a class=\"reference internal\" href=\"/fr/1.9/ref/settings/#std-setting-DEFAULT_CONTENT_TYPE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_CONTENT_TYPE</span></code></a>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">status</span></code></dt><dd><p>Le code d’état de la réponse. La valeur par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">200</span></code>.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">using</span></code></dt><dd><p>Le nom <a class=\"reference internal\" href=\"/fr/1.9/ref/settings/#std-setting-TEMPLATES-NAME\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">NAME</span></code></a> d’un moteur de gabarit à utiliser pour charger le gabarit.</p>\n</dd>\n</dl>\n<aside class=\"version-note version-changed\" data-version=\"1.8\">\n<p class=\"version-note-title\">Changed in Django 1.8</p><p>Les paramètres <code class=\"docutils literal notranslate\"><span class=\"pre\">status</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">using</span></code> ont été ajoutés.</p>\n</aside>\n<aside class=\"version-note version-deprecated\" data-version=\"1.8\">\n<p class=\"version-note-title\">Deprecated since Django 1.8</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.8: </span>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">dirs</span></code> a été rendu osbolète.</p>\n</aside>\n</section>\n</section>\n<section id=\"redirect\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">redirect()</span></code><a class=\"heading-anchor\" href=\"#redirect\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.redirect\">\n<span class=\"sig-name descname\"><span class=\"pre\">redirect</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">to</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">permanent</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.shortcuts.redirect\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une réponse <a class=\"reference internal\" href=\"/fr/1.9/ref/request-response/#django.http.HttpResponseRedirect\" title=\"django.http.HttpResponseRedirect\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpResponseRedirect</span></code></a> à l’URL correspondant aux paramètres transmis.</p>\n<p>Les paramètres peuvent être :</p>\n<ul class=\"simple\">\n<li><p>Un modèle : la fonction <a class=\"reference internal\" href=\"/fr/1.9/ref/models/instances/#django.db.models.Model.get_absolute_url\" title=\"django.db.models.Model.get_absolute_url\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_absolute_url()</span></code></a> du modèle sera appelée.</p></li>\n<li><p>Un nom de vue, et potentiellement des paramètres  : <a class=\"reference internal\" href=\"/fr/1.9/ref/urlresolvers/#django.core.urlresolvers.reverse\" title=\"django.core.urlresolvers.reverse\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">urlresolvers.reverse</span></code></a> sera utilisée pour résoudre le nom.</p></li>\n<li><p>Une URL absolue ou relative qui sera utilisée telle quelle comme emplacement de redirection.</p></li>\n</ul>\n<p>Produit par défaut une redirection temporaire ; indiquez <code class=\"docutils literal notranslate\"><span class=\"pre\">permanent=True</span></code> pour produire une redirection permanente.</p>\n</dd></dl>\n\n<section id=\"examples\">\n<h3>Exemples<a class=\"heading-anchor\" href=\"#examples\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>La fonction <a class=\"reference internal\" href=\"#django.shortcuts.redirect\" title=\"django.shortcuts.redirect\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">redirect()</span></code></a> peut être utilisée de différentes manières.</p>\n<ol class=\"arabic\">\n<li><p>En lui passant un objet ; la méthode <a class=\"reference internal\" href=\"/fr/1.9/ref/models/instances/#django.db.models.Model.get_absolute_url\" title=\"django.db.models.Model.get_absolute_url\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_absolute_url()</span></code></a> de l’objet est appelée pour produire l’URL de redirection :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.shortcuts</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">redirect</span>\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"nb\">object</span> <span class=\"o\">=</span> <span class=\"n\">MyModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">)</span>\n    <span class=\"k\">return</span> <span class=\"n\">redirect</span><span class=\"p\">(</span><span class=\"nb\">object</span><span class=\"p\">)</span>\n</code></pre></div>\n</li>\n<li><p>En lui passant le nom d’une vue et, en option, des paramètres positionnels ou nommés ; l’URL sera résolue en utilisant la méthode <a class=\"reference internal\" href=\"/fr/1.9/ref/urlresolvers/#django.core.urlresolvers.reverse\" title=\"django.core.urlresolvers.reverse\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">reverse()</span></code></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"k\">return</span> <span class=\"n\">redirect</span><span class=\"p\">(</span><span class=\"s1\">&#39;some-view-name&#39;</span><span class=\"p\">,</span> <span class=\"n\">foo</span><span class=\"o\">=</span><span class=\"s1\">&#39;bar&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n</li>\n<li><p>En lui passant une URL de redirection fixe :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"k\">return</span> <span class=\"n\">redirect</span><span class=\"p\">(</span><span class=\"s1\">&#39;/some/url/&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cela fonctionne aussi avec des URL complètes :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"k\">return</span> <span class=\"n\">redirect</span><span class=\"p\">(</span><span class=\"s1\">&#39;https://example.com/&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n</li>\n</ol>\n<p>Par défaut, <a class=\"reference internal\" href=\"#django.shortcuts.redirect\" title=\"django.shortcuts.redirect\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">redirect()</span></code></a> renvoie une redirection temporaire. Toutes les formes ci-dessus acceptent un paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">permanent</span></code> qui, s’il est défini à <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>, produit une redirection permanente :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n    <span class=\"nb\">object</span> <span class=\"o\">=</span> <span class=\"n\">MyModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"o\">...</span><span class=\"p\">)</span>\n    <span class=\"k\">return</span> <span class=\"n\">redirect</span><span class=\"p\">(</span><span class=\"nb\">object</span><span class=\"p\">,</span> <span class=\"n\">permanent</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"get-object-or-404\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">get_object_or_404()</span></code><a class=\"heading-anchor\" href=\"#get-object-or-404\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.get_object_or_404\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_object_or_404</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">klass</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.shortcuts.get_object_or_404\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Appelle <a class=\"reference internal\" href=\"/fr/1.9/ref/models/querysets/#django.db.models.query.QuerySet.get\" title=\"django.db.models.query.QuerySet.get\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get()</span></code></a> d’un gestionnaire de modèle donné, mais génère une exception <a class=\"reference internal\" href=\"/fr/1.9/topics/http/views/#django.http.Http404\" title=\"django.http.Http404\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Http404</span></code></a> au lieu de l’exception <a class=\"reference internal\" href=\"/fr/1.9/ref/models/instances/#django.db.models.Model.DoesNotExist\" title=\"django.db.models.Model.DoesNotExist\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DoesNotExist</span></code></a> du modèle.</p>\n</dd></dl>\n\n<section id=\"id3\">\n<h3>Paramètres obligatoires<a class=\"heading-anchor\" href=\"#id3\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">klass</span></code></dt><dd><p>Une classe <a class=\"reference internal\" href=\"/fr/1.9/ref/models/instances/#django.db.models.Model\" title=\"django.db.models.Model\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Model</span></code></a>, un <a class=\"reference internal\" href=\"/fr/1.9/topics/db/managers/#django.db.models.Manager\" title=\"django.db.models.Manager\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Manager</span></code></a> ou une instance <a class=\"reference internal\" href=\"/fr/1.9/ref/models/querysets/#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code></a> comme source de l’objet.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">**kwargs</span></code></dt><dd><p>Paramètres de recherche, dans un format accepté par <code class=\"docutils literal notranslate\"><span class=\"pre\">get()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">filter()</span></code>.</p>\n</dd>\n</dl>\n</section>\n<section id=\"id4\">\n<h3>Exemple<a class=\"heading-anchor\" href=\"#id4\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>L’exemple suivant obtient l’objet``MyModel`` ayant la clé primaire 1 :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.shortcuts</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">get_object_or_404</span>\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"n\">my_object</span> <span class=\"o\">=</span> <span class=\"n\">get_object_or_404</span><span class=\"p\">(</span><span class=\"n\">MyModel</span><span class=\"p\">,</span> <span class=\"n\">pk</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cet exemple est équivalent à :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.http</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Http404</span>\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"k\">try</span><span class=\"p\">:</span>\n        <span class=\"n\">my_object</span> <span class=\"o\">=</span> <span class=\"n\">MyModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">pk</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n    <span class=\"k\">except</span> <span class=\"n\">MyModel</span><span class=\"o\">.</span><span class=\"n\">DoesNotExist</span><span class=\"p\">:</span>\n        <span class=\"k\">raise</span> <span class=\"n\">Http404</span><span class=\"p\">(</span><span class=\"s2\">&quot;No MyModel matches the given query.&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Le cas le plus courant est de transmettre un <a class=\"reference internal\" href=\"/fr/1.9/ref/models/instances/#django.db.models.Model\" title=\"django.db.models.Model\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Model</span></code></a>, comme montré ci-dessus. Cependant, vous pouvez aussi transmettre une instance <a class=\"reference internal\" href=\"/fr/1.9/ref/models/querysets/#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">queryset</span> <span class=\"o\">=</span> <span class=\"n\">Book</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">title__startswith</span><span class=\"o\">=</span><span class=\"s1\">&#39;M&#39;</span><span class=\"p\">)</span>\n<span class=\"n\">get_object_or_404</span><span class=\"p\">(</span><span class=\"n\">queryset</span><span class=\"p\">,</span> <span class=\"n\">pk</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>L’exemple ci-dessus est un peu tiré par les cheveux, car il est équivalent à :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">get_object_or_404</span><span class=\"p\">(</span><span class=\"n\">Book</span><span class=\"p\">,</span> <span class=\"n\">title__startswith</span><span class=\"o\">=</span><span class=\"s1\">&#39;M&#39;</span><span class=\"p\">,</span> <span class=\"n\">pk</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>mais cela reste utile dans les cas où vous recevez une variable <code class=\"docutils literal notranslate\"><span class=\"pre\">queryset</span></code> par un autre moyen.</p>\n<p>Finalement, vous pouvez aussi utiliser un gestionnaire (<a class=\"reference internal\" href=\"/fr/1.9/topics/db/managers/#django.db.models.Manager\" title=\"django.db.models.Manager\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Manager</span></code></a>). C’est utile par exemple si vous avez un <a class=\"reference internal\" href=\"/fr/1.9/topics/db/managers/#custom-managers\"><span class=\"std std-ref\">gestionnaire personnalisé</span></a></p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">get_object_or_404</span><span class=\"p\">(</span><span class=\"n\">Book</span><span class=\"o\">.</span><span class=\"n\">dahl_objects</span><span class=\"p\">,</span> <span class=\"n\">title</span><span class=\"o\">=</span><span class=\"s1\">&#39;Matilda&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Il est aussi possible d’utiliser des <a class=\"reference internal\" href=\"/fr/1.9/ref/models/relations/#django.db.models.fields.related.RelatedManager\" title=\"django.db.models.fields.related.RelatedManager\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">gestionnaires</span> <span class=\"pre\">de</span> <span class=\"pre\">liaison</span></code></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">author</span> <span class=\"o\">=</span> <span class=\"n\">Author</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"s1\">&#39;Roald Dahl&#39;</span><span class=\"p\">)</span>\n<span class=\"n\">get_object_or_404</span><span class=\"p\">(</span><span class=\"n\">author</span><span class=\"o\">.</span><span class=\"n\">book_set</span><span class=\"p\">,</span> <span class=\"n\">title</span><span class=\"o\">=</span><span class=\"s1\">&#39;Matilda&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Note : comme pour <code class=\"docutils literal notranslate\"><span class=\"pre\">get()</span></code>, une exception <a class=\"reference internal\" href=\"/fr/1.9/ref/exceptions/#django.core.exceptions.MultipleObjectsReturned\" title=\"django.core.exceptions.MultipleObjectsReturned\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MultipleObjectsReturned</span></code></a> sera levée si plus d’un objet est renvoyé.</p>\n</section>\n</section>\n<section id=\"get-list-or-404\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">get_list_or_404()</span></code><a class=\"heading-anchor\" href=\"#get-list-or-404\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.shortcuts.get_list_or_404\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_list_or_404</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">klass</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.shortcuts.get_list_or_404\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie le résultat de <a class=\"reference internal\" href=\"/fr/1.9/ref/models/querysets/#django.db.models.query.QuerySet.filter\" title=\"django.db.models.query.QuerySet.filter\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">filter()</span></code></a> sur un gestionnaire de modèle donné transformé en liste, générant <a class=\"reference internal\" href=\"/fr/1.9/topics/http/views/#django.http.Http404\" title=\"django.http.Http404\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Http404</span></code></a> si la liste résultante est vide.</p>\n</dd></dl>\n\n<section id=\"id5\">\n<h3>Paramètres obligatoires<a class=\"heading-anchor\" href=\"#id5\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"simple\">\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">klass</span></code></dt><dd><p>Une instance de <a class=\"reference internal\" href=\"/fr/1.9/ref/models/instances/#django.db.models.Model\" title=\"django.db.models.Model\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Model</span></code></a>, <a class=\"reference internal\" href=\"/fr/1.9/topics/db/managers/#django.db.models.Manager\" title=\"django.db.models.Manager\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Manager</span></code></a> ou <a class=\"reference internal\" href=\"/fr/1.9/ref/models/querysets/#django.db.models.query.QuerySet\" title=\"django.db.models.query.QuerySet\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code></a> comme source de la liste d’objets.</p>\n</dd>\n<dt><code class=\"docutils literal notranslate\"><span class=\"pre\">**kwargs</span></code></dt><dd><p>Paramètres de recherche, dans un format accepté par <code class=\"docutils literal notranslate\"><span class=\"pre\">get()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">filter()</span></code>.</p>\n</dd>\n</dl>\n</section>\n<section id=\"id6\">\n<h3>Exemple<a class=\"heading-anchor\" href=\"#id6\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>L’exemple suivant récupère tous les objets publiés de</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.shortcuts</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">get_list_or_404</span>\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"n\">my_objects</span> <span class=\"o\">=</span> <span class=\"n\">get_list_or_404</span><span class=\"p\">(</span><span class=\"n\">MyModel</span><span class=\"p\">,</span> <span class=\"n\">published</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Cet exemple est équivalent à :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.http</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Http404</span>\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">my_view</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"n\">my_objects</span> <span class=\"o\">=</span> <span class=\"nb\">list</span><span class=\"p\">(</span><span class=\"n\">MyModel</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">filter</span><span class=\"p\">(</span><span class=\"n\">published</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">))</span>\n    <span class=\"k\">if</span> <span class=\"ow\">not</span> <span class=\"n\">my_objects</span><span class=\"p\">:</span>\n        <span class=\"k\">raise</span> <span class=\"n\">Http404</span><span class=\"p\">(</span><span class=\"s2\">&quot;No MyModel matches the given query.&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n</section>","rootId":"module-django.shortcuts","toc":[{"title":"render()","anchor":"render","children":[{"title":"Paramètres obligatoires","anchor":"required-arguments","children":[]},{"title":"Paramètres facultatifs","anchor":"optional-arguments","children":[]},{"title":"Exemple","anchor":"example","children":[]}]},{"title":"render_to_response()","anchor":"render-to-response","children":[{"title":"Paramètres obligatoires","anchor":"id1","children":[]},{"title":"Paramètres facultatifs","anchor":"id2","children":[]}]},{"title":"redirect()","anchor":"redirect","children":[{"title":"Exemples","anchor":"examples","children":[]}]},{"title":"get_object_or_404()","anchor":"get-object-or-404","children":[{"title":"Paramètres obligatoires","anchor":"id3","children":[]},{"title":"Exemple","anchor":"id4","children":[]}]},{"title":"get_list_or_404()","anchor":"get-list-or-404","children":[{"title":"Paramètres obligatoires","anchor":"id5","children":[]},{"title":"Exemple","anchor":"id6","children":[]}]}],"breadcrumbs":[{"docname":"topics/index","title":"Utilisation de Django","url":"/fr/1.9/topics/"},{"docname":"topics/http/index","title":"Gestion des requêtes HTTP","url":"/fr/1.9/topics/http/"}],"prev":{"docname":"topics/http/file-uploads","title":"Envoi de fichiers","url":"/fr/1.9/topics/http/file-uploads/"},"next":{"docname":"topics/http/generic-views","title":"Vues génériques","url":"/fr/1.9/topics/http/generic-views/"},"formats":{"html":"/fr/1.9/topics/http/shortcuts/","markdown":"/fr/1.9/topics/http/shortcuts.md","json":"/fr/1.9/topics/http/shortcuts.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/topics/http/shortcuts.txt","official":"https://docs.djangoproject.com/fr/1.9/topics/http/shortcuts/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","fr","ja","id","pt-br","es"]}