django - Problème de lecture des variables d'environnement lorsque Apache charge le fichier de configuration
天蓬老师
天蓬老师 2017-05-16 17:03:31
0
1
587

Mon projet est déployé avec Django + Apache Afin de distinguer facilement les environnements en ligne et de développement, j'ai défini une variable d'environnement sur le serveur Z_ENV, puis je l'ai écrit dans le fichier de configuration de Django,

.
env = os.environ.get("Z_ENV", None)
if env == "server":
    from .server_settings import *
else:
    from .local_settings import *

Cette façon d'écrire ne pose aucun problème lors de l'utilisation de certaines des commandes fournies avec Django localement ou sur le serveur. Par exemple, lors de l'exécution directe de os.environ.get("Z_ENV", None)就是server或者python managa.py syncdb,确实是使用的server_settings里面的配置,但是在apache载入配置文件的时候却没有获取到这个环境变量,然后就使用了local_settings,我是在上面加了一句print env的,然后service apache2 restart, None est imprimé dans le fichier journal Apache.

La modification de la variable d'environnement est /etc/profile文件,内容是Z_ENV=server export Z_ENVAu début, elle n'a pas pris d'effet pour les utilisateurs d'Apache, mais plus tard, j'ai vérifié et constaté que les variables d'environnement définies ici sont efficaces pour tous les utilisateurs.

Demandons à tout le monde ce qui se passe ?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(1)
迷茫

à /etc/apache2/envvars 中设置 export Z_ENV=server

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal