django – Problem beim Lesen von Umgebungsvariablen, wenn Apache die Konfigurationsdatei lädt
天蓬老师
天蓬老师 2017-05-16 17:03:31
0
1
598

Mein Projekt wird mit Django + Apache bereitgestellt, um einfach zwischen Online- und Entwicklungsumgebungen zu unterscheiden, habe ich eine Umgebungsvariable auf dem Server festgelegt Z_ENV und diese dann in die Django-Konfigurationsdatei geschrieben

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

Diese Schreibweise ist kein Problem, wenn einige der mit Django gelieferten Befehle lokal oder auf dem Server verwendet werden. Wenn os.environ.get("Z_ENV", None)就是server或者python managa.py syncdb,确实是使用的server_settings里面的配置,但是在apache载入配置文件的时候却没有获取到这个环境变量,然后就使用了local_settings,我是在上面加了一句print env的,然后service apache2 restart beispielsweise direkt ausgeführt wird, wird „None“ in der Apache-Protokolldatei gedruckt.

Die Änderung der Umgebungsvariablen ist /etc/profile文件,内容是Z_ENV=server export Z_ENVZuerst war sie für Apache-Benutzer nicht wirksam, aber später habe ich überprüft und festgestellt, dass die hier festgelegten Umgebungsvariablen für alle Benutzer wirksam sind.

Lasst uns alle fragen, was los ist?

天蓬老师
天蓬老师

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

Antworte allen(1)
迷茫

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage