gpt4 book ai didi

python - Django 设置.py : Separate local and global configuration

转载 作者:太空狗 更新时间:2023-10-30 00:30:34 25 4
gpt4 key购买 nike

我想知道是否有可能将 Django 中的“本地”配置(静态的本地路径、必须是绝对的模板内容、本地数据库信息等...)与“全局”配置(URL 、中间件类、已安装的应用程序等...),这样几个人就可以通过 Git 或 SVN 处理同一个项目,而不必在每次完成提交时都重写本地设置!

谢谢!

最佳答案

是的,绝对是。 settings.py 文件只是 Python,因此您可以在其中执行任何操作 - 包括动态设置内容,以及导入其他文件进行覆盖。

所以这里有两种方法。第一种是不对任何路径进行硬编码,而是动态计算它们。

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
TEMPLATE_DIRS = [
os.path.join(PROJECT_ROOT, "templates"),
]

等神奇的 Python 关键字 __file__ 给出了当前文件的路径。

第二个是在 SVN 之外有一个 local_settings.py 文件,它在主 settings.py 的末尾导入并覆盖那里的任何设置:

try:
from local_settings import *
except ImportError:
pass

try/except 是为了确保即使 local_settings 不存在它仍然有效。

当然,您可以尝试结合使用这些方法。

关于python - Django 设置.py : Separate local and global configuration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5583077/

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