Je recherche une méthode sûre pour déclencher DEBUG pour les requêtes INTERNAL_IPS sur un serveur de production django sans nécessiter la modification d'un fichier settings.py. Principalement pour faire en sorte que la barre d'outils de certains concepteurs vérifie les problèmes sur les données/médias en direct, mais sans compter sur eux pour réinitialiser les paramètres une fois qu'ils ont terminé.Comment déclencher django DEBUG sur un serveur de production de manière non intrusive
Semblable à cette méthode. Cependant, cela ne convient qu'au déploiement.
dans le passé sur les systèmes à base de php que j'ai eu mydomain.com et une démo mydomaincom.myprodserver.com où le domaine prodserver peut exécuter automatiquement le code de débogage basé sur $ _SERVER [ « HOST_NAME »] mais Django manque de superglobal facile. Par exemple, dans l'exemple de blog hostname est/etc/hostname pas le vhost.
Toutes les idées ont été appréciées.
Edit:
J'ai une solution de contournement de toutes sortes (mais idéalement, je préfèrerais un plus portable) en ajoutant un/chemin/vers/django_in_debug/la sys.path du mydomaincom.myprodserver. com vhost entrée. Puis dans le fichier settings.py
try:
from django_in_debug.settings import *
except:
DEBUG = False
+1 Il est particulièrement important de garder DEBUG hors du domaine principal car Django enregistre toutes les requêtes de base de données quand DEBUG = True ... mange la mémoire rapidement. –
Bravo, c'est une meilleure solution – michael
Il pourrait aussi être utile d'étudier le fait d'avoir Apache faire la redirection pour vous au lieu de middleware –