2010-11-17 36 views

Répondre

10
import socket 
socket.gethostbyname(socket.gethostname()) 

Cependant, je vous recommande contre cela et au lieu de maintenir le fichier de paramètres multiples pour chaque environnement que vous travaillez avec.

settings/__init__.py 
settings/qa.py 
settings/production.py 

__init__.py a tous vos paramètres par défaut. En haut de qa.py, et tout autre fichier de paramètres, la première ligne a:

from settings import * 

suivi par les remplacements nécessaires à cet environnement particulier.

+0

Merde, était sur le point de poster cette réponse. :(Et je suis d'accord que l'utilisation de fichiers de paramètres multiples est probablement une meilleure idée. –

+2

vous pouvez utiliser "exporter DJANGO_SETTINGS_MODULE = settings.qa" dans bash pour choisir le fichier de paramètres à utiliser –

+0

OK, penser à avoir plusieurs paramètres doit être une meilleure idée, * mais * cela répond à la question (erronée?) que j'ai posée pour que celle-ci obtienne la tique. –

3

Une méthode utilisée par certains magasins consiste à définir une variable d'environnement sur chaque machine. Peut-être appelé "environnement". Dans les systèmes POSIX, vous pouvez faire quelque chose comme ENVIRONMENT=production dans le fichier .profile de l'utilisateur (ce sera légèrement différent pour chaque shell et système d'exploitation). Puis, en settings.py vous pouvez faire quelque chose comme ceci:

import os 

if os.environ['ENVIRONMENT'] == 'production': 
    # Production 
    DATABASE_ENGINE = 'mysql' 
    DATABASE_NAME = .... 
else: 
    # Development