{"title":"Le générateur de documentation de l’administration de Django","version":"1.9","locale":"fr","docname":"ref/contrib/admin/admindocs","url":"/fr/1.9/ref/contrib/admin/admindocs/","canonical":"https://djangodocs.dev/fr/1.9/ref/contrib/admin/admindocs/","summary":"L’application admindocs de Django récupère la documentation depuis les chaînes de documentation « docstrings » des modèles, des vues, des balises de gabarit et des…","html":"<span id=\"the-django-admin-documentation-generator\"></span><h1>Le générateur de documentation de l’administration de Django<a class=\"heading-anchor\" href=\"#module-django.contrib.admindocs\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>L’application <a class=\"reference internal\" href=\"#module-django.contrib.admindocs\" title=\"django.contrib.admindocs: Django's admin documentation generator.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">admindocs</span></code></a> de Django récupère la documentation depuis les chaînes de documentation « docstrings » des modèles, des vues, des balises de gabarit et des filtres de gabarit de toutes les applications figurant dans <a class=\"reference internal\" href=\"/fr/1.9/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> et rend cette documentation disponible à partir de <a class=\"reference internal\" href=\"/fr/1.9/ref/contrib/admin/#module-django.contrib.admin\" title=\"django.contrib.admin: Django's admin site.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">l'administration</span> <span class=\"pre\">de</span> <span class=\"pre\">Django</span></code></a>.</p>\n<section id=\"overview\">\n<h2>Aperçu<a class=\"heading-anchor\" href=\"#overview\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Pour activer <a class=\"reference internal\" href=\"#module-django.contrib.admindocs\" title=\"django.contrib.admindocs: Django's admin documentation generator.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">admindocs</span></code></a>, voici ce qu’il faut faire :</p>\n<ul class=\"simple\">\n<li><p>Ajoutez <a class=\"reference internal\" href=\"#module-django.contrib.admindocs\" title=\"django.contrib.admindocs: Django's admin documentation generator.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">admindocs</span></code></a> au réglage <a class=\"reference internal\" href=\"/fr/1.9/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a>.</p></li>\n<li><p>Ajoutez <code class=\"docutils literal notranslate\"><span class=\"pre\">url(r'^admin/doc/',</span> <span class=\"pre\">include('django.contrib.admindocs.urls'))</span></code> aux motifs d’URL <code class=\"docutils literal notranslate\"><span class=\"pre\">urlpatterns</span></code>. Assurez-vous que cette inclusion apparaisse <em>avant</em> la ligne <code class=\"docutils literal notranslate\"><span class=\"pre\">r'^admin/'</span></code>, de sorte que les requêtes vers <code class=\"docutils literal notranslate\"><span class=\"pre\">/admin/doc/</span></code> ne soient pas interceptées par cette dernière.</p></li>\n<li><p>Installez le module Python docutils (<a class=\"reference external\" href=\"http://docutils.sf.net/\">http://docutils.sf.net/</a>).</p></li>\n<li><p><strong>Facultatif :</strong> l’utilisation des signets dynamiques d’admindocs nécessite que <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admindocs.middleware.XViewMiddleware</span></code> soit installé.</p></li>\n</ul>\n<p>Une fois ces étapes terminées, vous pouvez parcourir la documentation en allant sur l’interface d’administration et en cliquant sur le lien « Documentation » dans le coin supérieur droit de la page.</p>\n</section>\n<section id=\"documentation-helpers\">\n<h2>Assistants de documentation<a class=\"heading-anchor\" href=\"#documentation-helpers\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Le balisage spécial suivant peut être utilisé dans vos chaînes de documentation « docstrings » afin de créer facilement des liens vers d’autres composants :</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Composant Django</p></th>\n<th class=\"head\"><p>Rôles reStructuredText</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p>Modèles</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">:model:`étiquette_app.NomModèle`</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Vues</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">:view:`étiquette_app.nom_de_vue`</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>Balises de gabarit</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">:tag:`nom_balise`</span></code></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p>Filtres de gabarit</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">:filter:`nom_filtre`</span></code></p></td>\n</tr>\n<tr class=\"row-even\"><td><p>Gabarits</p></td>\n<td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">:template:`chemin/vers/gabarit.html`</span></code></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"model-reference\">\n<h2>Référence des modèles<a class=\"heading-anchor\" href=\"#model-reference\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>La section <strong>modèles</strong> de la page d”<code class=\"docutils literal notranslate\"><span class=\"pre\">admindocs</span></code> décrit chaque modèle du système avec tous les champs et les méthodes disponibles. Les relations avec les autres modèles apparaissent sous forme d’hyperliens. Les descriptions sont récupérées des attributs <code class=\"docutils literal notranslate\"><span class=\"pre\">help_text</span></code> pour les champs ou des chaîne de documentation « docstrings » pour les méthodes de modèle.</p>\n<aside class=\"version-note version-changed\" data-version=\"1.9\">\n<p class=\"version-note-title\">Changed in Django 1.9</p><p>La section <strong>modèles</strong> de <code class=\"docutils literal notranslate\"><span class=\"pre\">admindocs</span></code> documente dorénavant aussi les méthodes qui acceptent des paramètres. Dans les versions précédentes, seules les méthodes sans paramètres étaient documentées.</p>\n</aside>\n<p>Un modèle avec une documentation utile 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\">class</span><span class=\"w\"> </span><span class=\"nc\">BlogEntry</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n<span class=\"w\">    </span><span class=\"sd\">&quot;&quot;&quot;</span>\n<span class=\"sd\">    Stores a single blog entry, related to :model:`blog.Blog` and</span>\n<span class=\"sd\">    :model:`auth.User`.</span>\n<span class=\"sd\">    &quot;&quot;&quot;</span>\n    <span class=\"n\">slug</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">SlugField</span><span class=\"p\">(</span><span class=\"n\">help_text</span><span class=\"o\">=</span><span class=\"s2\">&quot;A short label, generally used in URLs.&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">author</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span>\n        <span class=\"n\">User</span><span class=\"p\">,</span>\n        <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">SET_NULL</span><span class=\"p\">,</span>\n        <span class=\"n\">blank</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span> <span class=\"n\">null</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span>\n    <span class=\"n\">blog</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">ForeignKey</span><span class=\"p\">(</span><span class=\"n\">Blog</span><span class=\"p\">,</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CASCADE</span><span class=\"p\">)</span>\n    <span class=\"o\">...</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">publish</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n<span class=\"w\">        </span><span class=\"sd\">&quot;&quot;&quot;Makes the blog entry live on the site.&quot;&quot;&quot;</span>\n        <span class=\"o\">...</span>\n</code></pre></div>\n</section>\n<section id=\"view-reference\">\n<h2>Référence des vues<a class=\"heading-anchor\" href=\"#view-reference\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Chaque URL de votre site possède une entrée séparée dans les pages <code class=\"docutils literal notranslate\"><span class=\"pre\">admindocs</span></code>; un clic sur une URL donnée montre la vue correspondante. Voici quelques exemples de choses utiles que vous pouvez documenter dans les chaînes de documentation « docstrings » de vos fonctions de vue :</p>\n<ul class=\"simple\">\n<li><p>Une brève description de ce que la vue réalise.</p></li>\n<li><p>Le <strong>contexte</strong> ou une liste de variables disponibles dans le gabarit de la vue.</p></li>\n<li><p>Le nom du ou des gabarits utilisés pour cette vue.</p></li>\n</ul>\n<p>Par exemple :</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=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">myapp.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">MyModel</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> <span class=\"n\">slug</span><span class=\"p\">):</span>\n<span class=\"w\">    </span><span class=\"sd\">&quot;&quot;&quot;</span>\n<span class=\"sd\">    Display an individual :model:`myapp.MyModel`.</span>\n\n<span class=\"sd\">    **Context**</span>\n\n<span class=\"sd\">    ``mymodel``</span>\n<span class=\"sd\">        An instance of :model:`myapp.MyModel`.</span>\n\n<span class=\"sd\">    **Template:**</span>\n\n<span class=\"sd\">    :template:`myapp/my_template.html`</span>\n<span class=\"sd\">    &quot;&quot;&quot;</span>\n    <span class=\"n\">context</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"s1\">&#39;mymodel&#39;</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\">get</span><span class=\"p\">(</span><span class=\"n\">slug</span><span class=\"o\">=</span><span class=\"n\">slug</span><span class=\"p\">)}</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/my_template.html&#39;</span><span class=\"p\">,</span> <span class=\"n\">context</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"template-tags-and-filters-reference\">\n<h2>Référence des balises et filtres de gabarit<a class=\"heading-anchor\" href=\"#template-tags-and-filters-reference\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Les sections <strong>balises</strong> et <strong>filtres</strong> d”<code class=\"docutils literal notranslate\"><span class=\"pre\">admindocs</span></code> décrivent toutes les balises et les filtres livrés avec Django (en fait, la documentation de <a class=\"reference internal\" href=\"/fr/1.9/ref/templates/builtins/#ref-templates-builtins-tags\"><span class=\"std std-ref\">référence des balises intégrées</span></a> et des <a class=\"reference internal\" href=\"/fr/1.9/ref/templates/builtins/#ref-templates-builtins-filters\"><span class=\"std std-ref\">filtres intégrés</span></a> proviennent directement de ces pages). Toutes les balises ou les filtres que vous créez ou qui sont ajoutés par une application tierce apparaîtront aussi dans ces sections.</p>\n</section>\n<section id=\"template-reference\">\n<h2>Référence des gabarits<a class=\"heading-anchor\" href=\"#template-reference\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Bien qu”<code class=\"docutils literal notranslate\"><span class=\"pre\">admindocs</span></code> n’offre aucun moyen de documenter les gabarits eux-mêmes, si vous utilisez la syntaxe <code class=\"docutils literal notranslate\"><span class=\"pre\">:template:`chemin/vers/gabarit.html`</span></code> dans une chaîne « docstring », la page résultante vérifiera le chemin de ce gabarit avec le <a class=\"reference internal\" href=\"/fr/1.9/ref/templates/api/#template-loaders\"><span class=\"std std-ref\">moteur de chargement des gabarits</span></a> de Django. Cela peut être un moyen pratique pour vérifier si le gabarit existe et de montrer où ce gabarit est stocké dans le système de fichiers.</p>\n</section>\n<section id=\"included-bookmarklets\">\n<span id=\"admindocs-bookmarklets\"></span><h2>Signets dynamiques inclus<a class=\"heading-anchor\" href=\"#included-bookmarklets\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Un signet dynamique est disponible depuis la page <code class=\"docutils literal notranslate\"><span class=\"pre\">admindocs</span></code>:</p>\n<dl class=\"simple\">\n<dt>Documentation pour cette page</dt><dd><p>Vous renvoie depuis n’importe quelle page vers la documentation de la vue qui génère cette page.</p>\n</dd>\n</dl>\n<p>L’utilisation de ce signet dynamique nécessite que <code class=\"docutils literal notranslate\"><span class=\"pre\">XViewMiddleware</span></code> soit installé et que vous soyez connecté à <a class=\"reference internal\" href=\"/fr/1.9/ref/contrib/admin/#module-django.contrib.admin\" title=\"django.contrib.admin: Django's admin site.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">l'administration</span> <span class=\"pre\">de</span> <span class=\"pre\">Django</span></code></a> en tant que  <a class=\"reference internal\" href=\"/fr/1.9/ref/contrib/auth/#id0\" title=\"django.contrib.auth.models.User\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">User</span></code></a> avec <a class=\"reference internal\" href=\"/fr/1.9/ref/contrib/auth/#django.contrib.auth.models.User.is_staff\" title=\"django.contrib.auth.models.User.is_staff\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">is_staff</span></code></a> contenant <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p>\n</section>","rootId":"module-django.contrib.admindocs","toc":[{"title":"Aperçu","anchor":"overview","children":[]},{"title":"Assistants de documentation","anchor":"documentation-helpers","children":[]},{"title":"Référence des modèles","anchor":"model-reference","children":[]},{"title":"Référence des vues","anchor":"view-reference","children":[]},{"title":"Référence des balises et filtres de gabarit","anchor":"template-tags-and-filters-reference","children":[]},{"title":"Référence des gabarits","anchor":"template-reference","children":[]},{"title":"Signets dynamiques inclus","anchor":"included-bookmarklets","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/1.9/ref/"},{"docname":"ref/contrib/index","title":"Paquets contrib","url":"/fr/1.9/ref/contrib/"},{"docname":"ref/contrib/admin/index","title":"Le site d’administration de Django","url":"/fr/1.9/ref/contrib/admin/"}],"prev":{"docname":"ref/contrib/admin/actions","title":"Actions d’administration","url":"/fr/1.9/ref/contrib/admin/actions/"},"next":{"docname":"ref/contrib/admin/javascript","title":"Personnalisations de JavaScript dans l’interface d’administration","url":"/fr/1.9/ref/contrib/admin/javascript/"},"formats":{"html":"/fr/1.9/ref/contrib/admin/admindocs/","markdown":"/fr/1.9/ref/contrib/admin/admindocs.md","json":"/fr/1.9/ref/contrib/admin/admindocs.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/ref/contrib/admin/admindocs.txt","official":"https://docs.djangoproject.com/fr/1.9/ref/contrib/admin/admindocs/","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"]}