Mettre automatiquement DEBUG sur False en production pour Django


L’avantage des fichiers de settings en pur Python, c’est qu’on peut faire des trucs mignons comme:

import socket
 
if socket.gethostname() == 'monsupersite.com':
    DEBUG = False
else:
    DEBUG = True

2 thoughts on “Mettre automatiquement DEBUG sur False en production pour Django

  • Laurent

    Pas bête cette méthode ! Mais généralement j’ai un fichier de configuration bien spécifique pour la prod et le dév (pas la même base de données, etc.) qui n’est pas réécrit lors d’un déploiement. Et bien-sûr le DEBUG est dans ce fichier de conf.

    On peut également simplifier comme ceci :

    DEBUG = socket.gethostname() != 'monsupersite.com'
  • Sam Post author

    Tout à fait, au final sur les gros projets on peut se retrouver avec presque une dizaine de fichiers de settings.

    C’est juste que j’aime avoir une fichier de settings de base avec des valeurs par défaut saines, ça facilite toujours le boulot.

    J’aime bien le one liner :-)

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.