2010-07-22 11 views
1

J'essaie d'utiliser cette variable env pour spécifier le chemin de mes templates et il sera probablement plus facile de le faire en utilisant git ou svn.Où et comment définir une variable d'environnement en utilisant mod-wsgi et django?

+3

qu'est-ce que svn et git ont à voir avec l'exécution django thro Pourquoi wsgi? – eruciform

+1

S'appuyer sur des variables d'environnement de processus dans les applications Web est une mauvaise idée. Et oui, je sais que Django lui-même le fait avec la variable d'environnement DJANGO_SETTINGS_MODULE. Ne change pas le fait que c'est une mauvaise idée. Voir 'http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Application_Environment_Variables' ainsi que certaines des sections qui suivent pour certains des problèmes que les variables d'environnement étendues provoquent avec les systèmes d'hébergement pouvant héberger plusieurs applications. dans le même processus. –

+0

Il y a beaucoup de gens qui ne sont pas d'accord sur le fait que les variables env dans les applications web sont mauvaises, car les variables env sont le moyen le plus sûr de partager des jetons entre processus sans avoir ces jetons sur le système de fichiers. Personnellement, je les utilise le moins possible, mais je les utilise pour les clés secrètes et je n'ai trouvé aucun meilleur compromis pour ceux-ci. –

Répondre

3

En vous app.wsgi fichier faire:

import os 
os.environ['MY_ENV_VARIABLE'] = 'value' 
# e.g. os.environ['MPLCONFIGDIR'] = '/path/to/config/dir' 
0

Le matériau de référence est here. Mais la ligne opérationnelle pour votre chemin du projet (dans le cas où est ce que vous entendez) est:

sys.path.append('/path/to/project') 

Cependant, votre chemin modèle est situé dans votre fichier settings.py:

TEMPLATE_DIRS = ('/path/to/templatedir1', '/path/to/templatedir2')