Skip to main content
 首页 » 编程设计

python之Django 支持开发人员特定配置/设置的最佳方式

2024年11月01日27mq0036

这是我公司设计的方法,只是想知道是否有人有更好的方法:

在 Settings.py(底部)

#... 
 
try: 
    if socket.gethostname() == 'testsite': 
        from myir.local.TEST_settings import * 
    elif socket.gethostname() == 'prod': 
        from myir.local.PROD_settings import * 
    else: 
        from myir.local.DEV_settings import * 
        try: 
            # dev settings - don't commit local_settings.py 
            from proj.local.local_settings import * 
        except: 
            print "no local dev settings found..." 
            pass # intentionally do nothing. 
 
except ImportError: 
    pass 

local_settings.py:

DEBUG = True 
 
LOGGING = { .. }  # i usually keep maximum aount of logging possible in my dev environment. 
 
... other configs you might want to override. 

请您参考如下方法:

Django 提供环境变量DJANGO_SETTINGS_MODULE指定要使用的设置模块。您可以在那里指定 settings.my_prod_module ,这使得设置在生产中有所不同。您可以在本地指定不同的值。

您还可以在 WSGI 文件中指定值:

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings.my_prod_module'