我的代码如何判断是在谷歌服务器还是本地开发服务器上运行?
有没有什么环境标志可以告诉我我的代码是在生产环境中运行,还是在开发服务器上运行?
我想用一个if语句,根据这个标志做不同的事情。
(具体情况:我想读取的文本文件中的换行符在这两种环境中处理方式不同。)
2 个回答
1
对于Google App Engine(GAE),有人告诉我你不能导入socket这个模块,所以你可以利用这个特点来判断你的程序是否在GAE上运行。这个方法不是百分之百可靠,但应该能满足你的需求。把这个放在settings.py文件里。
try:
import socket
except ImportError:
DEBUG = TRUE
如果你在使用Django但不是在GAE上,可以用这个方法。把'devserver'改成你开发服务器的主机名。
import socket
if socket.gethostname() == 'devserver':
DEBUG = TRUE
然后在你代码中需要检查DEBUG变量的地方,
from django.conf import settings
if settings.DEBUG:
newline = '\n'
17
if os.environ.get('SERVER_SOFTWARE','').startswith('Development'):
DEBUG = True
logging.debug("[*] Debug info activated")
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。