GAE: python code to check if i'm on dev_appserver or deployed to appspot

时光毁灭记忆、已成空白 提交于 2019-12-10 17:16:06

问题


My GAE app uses OAUTH 2. Currently, I manually switch the redirect_uri between http://localhost:8081/oauth2callback and myapp.appspot.com/oauth2callback depending on whether do local testing with dev_appserver or if I deploy to appspot.com.

Is there some code (e.g. using os.environ) that I can use to automate this?

Thanks!


回答1:


You can get you current domain name with os.environ['SERVER_NAME'].

You also can check this by version name:

import os
if os.environ['APPLICATION_ID'].startswith('dev'):
  pass  # it's localhost
else:
  pass  # it's uploaded on gae

Will be better to use self.uri_for('callback-uri-name', _full=True) for building callback uri if you use webapp2.

You have something like this in your routes.

app = webapp2.WSGIApplication([
    webapp2.Route(r'/oauth/callback', handler='oauth.CallbackHandler', name='callback-uri-name'),
])

Then, if you'll call self.uri_for('callback-uri-name', _full=True) you'll get something like http://localhost:8080/oauth/callback or http://app-id.appspot.com/oauth/callback.

For more information: http://webapp-improved.appspot.com/guide/routing.html#building-uris



来源:https://stackoverflow.com/questions/15741711/gae-python-code-to-check-if-im-on-dev-appserver-or-deployed-to-appspot

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!