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載入配置文件的時候卻沒有獲取到這個環(huán)境變量,然后就使用了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
文件,內(nèi)容是Z_ENV=server export Z_ENV
Zuerst 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?
歡迎選擇我的課程,讓我們一起見證您的進步~~