为Djang构建自动化

2024-04-27 16:27:16 发布

您现在位置:Python中文网/ 问答频道 /正文

对于我的开发和django框架,我对做系统管理方面的工作还是相当陌生的。我想为本地开发站和生产环境使用不同的用户名/密码。在

我使用dotcloud作为服务器。我可以编写一个安装后脚本(用python、bash等任何语言),它会在每次新的推送时执行它。在

但是我不知道该怎么做。我需要自己写吗?有没有python/django构建自动化工具可以帮助我实现这一点?在

澄清:我如何在中更改debug=false设置.py在服务器上为真?在


Tags: 工具djangodebug服务器脚本bash框架语言
2条回答

django的标准方法是使用environmanet变量django_SETTINGS_MODULE。将其指向不同的设置,并让两者都导入一个公共设置模块来处理常见的事情:

# settings_production.py

from settings_common import *
DEBUG = False
DATABASES = {...}


# settings_development.py

from settings_common import *
DEBUG = True
DATABASES = {...}


# settings_common.py

INSTALLED_APPS = (...) # etc

您还可以使用另一种策略,使用一个主设置并根据某些系统条件从另一个主设置导入名称,例如获取os.platform.node()或{},然后切换该值(或其一部分)。在

^{pr2}$

编辑:添加链接

其他策略请参见https://code.djangoproject.com/wiki/SplitSettings。在

我通常在生产结束时导入开发设置设置.py,如果我的项目驻留在本地目录结构上。在

您还可以将DB设置和其他在生产和开发中不同的设置存储在一个单独的文件中,并从您使用的任何SVN、Git中删除它们。在

在你的末尾加上这个设置.py公司名称:

try:
  from myapp.specific_settings import *
except ImportError:
  pass

在这种情况下,特定的_设置在生产和开发环境中会有所不同。在

如果要在开发服务器和生产服务器之间动态选择,请在设置结束时使用:

^{pr2}$

请注意,我把这个写在我的头上,可能有一些错误。我回家后再核实一下。在

相关问题 更多 >