Django分离生产与开发配置:原settings.py是否删除等问题咨询
Django配置分离相关问题解答
问题1:分离完成后是否需要删除原settings.py文件?
- 不需要急着删除,建议先保留一段时间作为备份。等确认新的配置文件(base.py、dev.py、prod.py等)完全正常运行后,再考虑删除原文件;如果后续遇到配置问题,原文件也能作为参考对照。
问题2:该方法是否为配置分离的通用做法?
- 这种拆分base公共配置+环境专属配置的方式是非常通用且推荐的做法,Django官方也认可这种模式。它把公共配置放在base.py,开发/生产等不同环境的专属配置分别放在对应文件,通过导入base.py来复用公共配置,结构清晰、易于维护,适合大多数项目。
- 帖子里的其他方法(比如用环境变量切换、单文件分支判断)也各有适用场景,但base拆分法是行业内的主流方案之一。
问题3:BASE_DIR修改是否正确?
- 这个修改是正确的,两种写法作用完全一致,只是实现方式不同:
- 原写法
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))是传统的os模块路径写法,对应两级父目录; - 新写法
BASE_DIR = Path(__file__).resolve().parent.parent.parent是pathlib风格写法,因为原settings.py移到了子目录(比如settings/base.py),需要多往上跳一级目录,所以三级.parent正好匹配原逻辑。
- 原写法
- Django 2.1.7完全兼容pathlib写法,只要你在base.py顶部导入
from pathlib import Path即可正常使用。
内容的提问来源于stack exchange,提问作者ckp7blessed
相关产品推荐
相关产品推荐

