Résolue

Définition de la variable DEBUG en production

# Configuration # Environnement de travail # Django

Bonjour, question plutôt rapide aujourd'hui ! Pourquoi la variable DEBUG on l'a met dans le fichier .env en production ? Pourquoi on met pas juste DEBUG = False dans le settings.py, c'est pas une info confidentielle à ce que je sache non ?

Salut Yanis !

Bonne question, en fait l'intérêt est de ne pas avoir à modifier ton fichier settings.py. Ton fichier .env tu ne le mets pas sur git, il est donc différent et propre à chaque poste sur lequel il se trouve. Dans ton environnement de production, tu auras donc ta variable DEBUG à False et sur les ordinateurs des développeurs elle sera à True.

Tu peux ainsi garder ton fichier settings.py inchangé et continuer de travailler sans problème. Imagine si quand tu travailles en local tu dois modifier settings.py pour mettre le debug à True, et t'assurer à chaque fois que tu push ton code de modifier ton fichier pour la remettre à False (et ce, pour chaque membre de l'équipe). Ça serait compliqué à gérer.

Une alternative qu'on trouve parfois est d'avoir des fichiers settings.py différents pour le dev et la prod. Dans ce cas-ci tu pourrais effectivement mettre la valeur directement dans le fichier (avec par exemple un settings_dev.py et un settings_prod.py). Et tu pourrais cette fois-ci avoir une variable dans un fichier .env ou un autre moyen de t'assurer que sur ton serveur c'est bien le fichier settings_prod qui est utilisé).

Ah bah c'est exactement ce que j'ai fait... Modifier le settings.py à chaque fois lol
Ce serait cool un tuto pour configurer différents fichiers settings

Thibault houdon

Mentor

Salut Yanis,

La documentation de Django explique déjà un paquet de choses à ce sujet :)

Merci !

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.