Maison  >  Questions et réponses  >  le corps du texte

django - Problème de lecture des variables d'environnement lorsque Apache charge le fichier de configuration

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 ?

天蓬老师天蓬老师2713 Il y a quelques jours546

répondre à tous(1)je répondrai

  • 迷茫

    迷茫2017-05-16 17:05:31

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

    répondre
    0
  • Annulerrépondre