gpt4 book ai didi

python - Django 和 AppEngine 的多项设置

转载 作者:太空宇宙 更新时间:2023-11-04 03:26:47 25 4
gpt4 key购买 nike

在我当前的设置中,我有多个用于本地、暂存和生产环境的设置文件。我只是为每个服务器设置了不同的 DJANGO_SETTINGS_MODULE 值。

但现在我正尝试转移到 AppEngine,我想知道如何部署到具有不同 DJANGO_SETTINGS_MODULE 环境变量值的不同 AppEngine 实例。

我知道 app.yaml 上有 env_variables 选项,但我没有找到任何方法可以在 appcfg.py 中覆盖它作为我可以为 versionapplication 选项做。

有什么方法可以满足我的需求吗?

最佳答案

我们在应用程序根目录的 appengine_config.py 文件中为我们的 webapp2 项目使用类似的东西。这个想法是我们根据项目的应用程序 ID 换出配置。我为该示例编写了常量,但它应该足以让您入门。

import os
from google.appengine.api import app_identity

app_id = app_identity.get_application_id()

if os.environ.get('SERVER_SOFTWARE', 'dev').lower().startswith('dev'):
os.environ['DJANGO_SETTINGS_MODULE'] = 'local settings'
elif app_id == MY_DEV_ID:
os.environ['DJANGO_SETTINGS_MODULE'] = 'dev settings'
elif app_id == MY_STAGING_ID:
os.environ['DJANGO_SETTINGS_MODULE'] = 'staging settings'
elif app_id == MY_PROD_ID:
os.environ['DJANGO_SETTINGS_MODULE'] = 'prod settings'
else:
raise ValueError("Unknown app id %" % app_id)

关于python - Django 和 AppEngine 的多项设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32724914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com