为本地开发和生产服务器处理设置的推荐方法是什么?其中一些(如常量等)可以在这两种情况下更改/访问,但其中一些(如静态文件的路径)需要保持不同,因此不应在每次部署新代码时都被覆盖
目前,我正在将所有常量添加到settings.py。但每次我在本地更改某些常量时,我都必须将其复制到生产服务器并编辑文件以进行生产特定的更改…:(
编辑:看起来这个问题没有标准答案,我接受了最流行的方法。
Django:Django 1.5的最佳实践建议对设置文件使用版本控制,并将文件存储在单独的目录中:
项目/
附件1/
附件2/
计划/
__初始值
背景/
__初始值
base.py
local.py
production.py
manage.py
base.py文件包含常用设置(如媒体根目录或管理员),而local.py和production.py具有特定于站点的设置:
在基本文件设置/base.py中:
已安装的应用程序=(
#常见应用程序。。。
)
在本地开发设置文件设置/local.py中:
从project.settings.base导入
*
调试=真
已安装的应用程序+=(
“debug_toolbar”、#和其他用于本地开发的应用程序
)
在生产设置文件设置/production.py中:
从project.settings.base导入
*
调试=错误
已安装的应用程序+=(
#用于生产站点的其他应用程序
)
然后在运行django时,添加--settings选项:
运行django进行本地开发
$./manage.py runserver 0:8000–settings=project.settings.local
#在生产现场运行django shell
$./manage.py shell–settings=project.settings.production
这本书的作者还在Github上提供了一个示例项目布局模板