{"title":"FAQ : utilisation de Django","version":"3.2","locale":"fr","docname":"faq/usage","url":"/fr/3.2/faq/usage/","canonical":"https://djangodocs.dev/fr/3.2/faq/usage/","summary":"Pourquoi ai-je une erreur sur l’importation de DJANGO_SETTINGS_MODULE ? Lien vers cette rubrique # Assurez-vous que : La variable d’environnement…","html":"<h1>FAQ : utilisation de Django<a class=\"heading-anchor\" href=\"#faq-using-django\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"why-do-i-get-an-error-about-importing-django-settings-module\">\n<h2>Pourquoi ai-je une erreur sur l’importation de <span class=\"target\" id=\"index-2\"></span><a class=\"reference internal\" href=\"/fr/3.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE\"><code class=\"xref std std-envvar docutils literal notranslate\"><span class=\"pre\">DJANGO_SETTINGS_MODULE</span></code></a>?<a class=\"heading-anchor\" href=\"#why-do-i-get-an-error-about-importing-django-settings-module\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Assurez-vous que :</p>\n<ul class=\"simple\">\n<li><p>La variable d’environnement <span class=\"target\" id=\"index-4\"></span><a class=\"reference internal\" href=\"/fr/3.2/topics/settings/#envvar-DJANGO_SETTINGS_MODULE\"><code class=\"xref std std-envvar docutils literal notranslate\"><span class=\"pre\">DJANGO_SETTINGS_MODULE</span></code></a>  est définie sur un module Python complètement qualifié (par ex. « mysite.settings »).</p></li>\n<li><p>Ledit module se trouve dans <code class=\"docutils literal notranslate\"><span class=\"pre\">sys.path</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">import</span> <span class=\"pre\">mysite.settings</span></code> devrait fonctionner).</p></li>\n<li><p>Le module ne contient pas d’erreurs de syntaxe.</p></li>\n</ul>\n</section>\n<section id=\"i-can-t-stand-your-template-language-do-i-have-to-use-it\">\n<h2>Je ne supporte pas votre langage de gabarit. Suis-je obligé de l’utiliser ?<a class=\"heading-anchor\" href=\"#i-can-t-stand-your-template-language-do-i-have-to-use-it\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Il nous arrive de penser que notre moteur de gabarit est la meilleure chose depuis le lard en morceaux, mais nous reconnaissons que le choix d’un langage de gabarit est proche de celui d’une religion. Il n’y a rien dans Django qui nécessite l’utilisation de son langage de gabarit, donc si vous êtes attaché à Jinja2, Mako, ou quoi que ce soit, n’hésitez pas à les utiliser.</p>\n</section>\n<section id=\"do-i-have-to-use-your-model-database-layer\">\n<h2>Dois-je utiliser votre couche modèle/base de données ?<a class=\"heading-anchor\" href=\"#do-i-have-to-use-your-model-database-layer\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Non. Tout comme le système de gabarit, la couche modèle/base de données est découplée du reste du système.</p>\n<p>La seule exception étant : si vous utilisez une autre bibliothèque de base de données, vous ne pourrez pas utiliser le site d’administration généré automatiquement par Django. Cette application est couplée à la couche de base de données de Django.</p>\n</section>\n<section id=\"how-do-i-use-image-and-file-fields\">\n<h2>Comment puis-je utiliser les champs image et fichier ?<a class=\"heading-anchor\" href=\"#how-do-i-use-image-and-file-fields\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>L’utilisation d’un champ <a class=\"reference internal\" href=\"/fr/3.2/ref/models/fields/#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> ou d’un champ <a class=\"reference internal\" href=\"/fr/3.2/ref/models/fields/#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> dans un modèle implique quelques étapes :</p>\n<ol class=\"arabic simple\">\n<li><p>Dans votre fichier de réglages, vous devez indiquer dans <a class=\"reference internal\" href=\"/fr/3.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> le chemin d’accès absolu vers un répertoire où Django peut enregistrer les fichiers téléversés (pour des raisons de performance, ces fichiers ne sont pas stockés en base de données). Indiquez dans <a class=\"reference internal\" href=\"/fr/3.2/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a> l’URL publique de base correspondant à ce répertoire. Assurez-vous que ce répertoire soit accessible en écriture par l’utilisateur du serveur Web.</p></li>\n<li><p>Ajoutez le champ <a class=\"reference internal\" href=\"/fr/3.2/ref/models/fields/#django.db.models.FileField\" title=\"django.db.models.FileField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">FileField</span></code></a> ou <a class=\"reference internal\" href=\"/fr/3.2/ref/models/fields/#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> à votre modèle, en définissant l’option <a class=\"reference internal\" href=\"/fr/3.2/ref/models/fields/#django.db.models.FileField.upload_to\" title=\"django.db.models.FileField.upload_to\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">upload_to</span></code></a> pour indiquer dans quel sous-répertoire de <a class=\"reference internal\" href=\"/fr/3.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> les fichiers doivent être téléversés.</p></li>\n<li><p>Tout ce qui sera stocké dans la base de données est le chemin d’accès au fichier (relatif à <a class=\"reference internal\" href=\"/fr/3.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a>). Il est très commode et courant d’utiliser l’attribut <a class=\"reference internal\" href=\"/fr/3.2/ref/models/fields/#django.db.models.fields.files.FieldFile.url\" title=\"django.db.models.fields.files.FieldFile.url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">url</span></code></a> offert par Django. Par exemple, considérant un <a class=\"reference internal\" href=\"/fr/3.2/ref/models/fields/#django.db.models.ImageField\" title=\"django.db.models.ImageField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImageField</span></code></a> nommé <code class=\"docutils literal notranslate\"><span class=\"pre\">mug_shot</span></code>, vous pouvez obtenir l’URL absolue de cette image dans un gabarit avec <code class=\"docutils literal notranslate\"><span class=\"pre\">{{</span> <span class=\"pre\">object.mug_shot.url</span> <span class=\"pre\">}}</span></code>.</p></li>\n</ol>\n</section>\n<section id=\"how-do-i-make-a-variable-available-to-all-my-templates\">\n<h2>Comment puis-je rendre une variable disponible pour tous mes gabarits ?<a class=\"heading-anchor\" href=\"#how-do-i-make-a-variable-available-to-all-my-templates\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Parfois, vos gabarits ont tous besoin de la même chose. Un exemple courant serait des menus générés dynamiquement. À première vue, il semble logique d’ajouter un dictionnaire commun dans le contexte du gabarit.</p>\n<p>La meilleure manière de faire cela avec Django est d’utiliser un <code class=\"docutils literal notranslate\"><span class=\"pre\">RequestContext</span></code>. Les détails sur comment s’y prendre se trouvent ici : <a class=\"reference internal\" href=\"/fr/3.2/ref/templates/api/#subclassing-context-requestcontext\"><span class=\"std std-ref\">Utilisation de RequestContext</span></a>.</p>\n</section>","rootId":"faq-using-django","toc":[{"title":"Pourquoi ai-je une erreur sur l’importation de DJANGO_SETTINGS_MODULE?","anchor":"why-do-i-get-an-error-about-importing-django-settings-module","children":[]},{"title":"Je ne supporte pas votre langage de gabarit. Suis-je obligé de l’utiliser ?","anchor":"i-can-t-stand-your-template-language-do-i-have-to-use-it","children":[]},{"title":"Dois-je utiliser votre couche modèle/base de données ?","anchor":"do-i-have-to-use-your-model-database-layer","children":[]},{"title":"Comment puis-je utiliser les champs image et fichier ?","anchor":"how-do-i-use-image-and-file-fields","children":[]},{"title":"Comment puis-je rendre une variable disponible pour tous mes gabarits ?","anchor":"how-do-i-make-a-variable-available-to-all-my-templates","children":[]}],"breadcrumbs":[{"docname":"faq/index","title":"FAQ Django","url":"/fr/3.2/faq/"}],"prev":{"docname":"faq/install","title":"FAQ : Installation","url":"/fr/3.2/faq/install/"},"next":{"docname":"faq/help","title":"FAQ : Obtenir de l’aide","url":"/fr/3.2/faq/help/"},"formats":{"html":"/fr/3.2/faq/usage/","markdown":"/fr/3.2/faq/usage.md","json":"/fr/3.2/faq/usage.json"},"source":"https://github.com/django/django/blob/stable/3.2.x/docs/faq/usage.txt","official":"https://docs.djangoproject.com/fr/3.2/faq/usage/","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","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}