簡體   English   中英

如何在Google App Engine上的django中自動設置DEBUG值

[英]how to set DEBUG value automatically in django on Google App Engine

我認為問題就說明了一切。

我想在Google App Engine上運行時設置DEBUG = False,但要在本地計算機上設為True。

(我沒有使用django-nonrel)

我做

app = webapp.WSGIApplication([
  ...
], debug = os.environ.get('SERVER_SOFTWARE', 'Dev').startswith('Dev'))

就像Thomas Orozco的代碼段一樣,但是如果未設置SERVER_SOFTWARE,則默認啟用調試功能。 僅當您碰巧在App Engine環境之外使用一些代碼時,才會發生這種情況,因此這是您希望如何將其默認設置的電話。

使用SERVER_SOFTWARE環境變量。

按照GAE文檔中的指示:

SERVER_SOFTWARE :在開發Web服務器中,此值為“ Development / XY”,其中“ XY”是運行時的版本。 在App Engine上運行時,此值為“ Google App Engine / XYZ”。

所以做:

import os

def get_gae_debug():
    server =  os.environ.get("SERVER_SOFTWARE")

    if server is None:
        return False  # Unexpected, disable DEBUG.

    software, version = server.split("/", 1)
    return software == "Development"


DEBUG = get_gae_debug()

此語法的最新更新(放在您的應用settings.py中):

if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'):
    DEBUG = False
else:
    DEBUG = True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM