How can my code tell if it's running on Google

2019-02-23 00:02发布

Possible Duplicate:
In Python, how can I test if I'm in Google App Engine SDK?

Is there an environment flag that will tell if my code is running in production or on the development server?

I'd like to be able to use an if statement to do something different depending on this flag.

(Specific case: newlines in a text file I want to read are treated differently in the two environments.)

2条回答
Summer. ? 凉城
2楼-- · 2019-02-23 00:37
if os.environ.get('SERVER_SOFTWARE','').startswith('Development'):
    DEBUG = True
    logging.debug("[*] Debug info activated")
查看更多
对你真心纯属浪费
3楼-- · 2019-02-23 00:55

For Google App Engine, since I've been told that you can't import socket you could probably use that fact to determine if you're running on GAE. This solution isn't 100% foolproof, but it should do what you want. Put this in settings.py.

try:
    import socket
except ImportError:
    DEBUG = TRUE

For anyone using Django but not GAE, you can use this instead. Change 'devserver' to whatever the hostname of your development server is.

import socket
if socket.gethostname() == 'devserver':
    DEBUG = TRUE

Then wherever you need to check the DEBUG variable in your code

from django.conf import settings

if settings.DEBUG:
    newline = '\n'
查看更多
登录 后发表回答