django.conf.settings 和 import settings 有什么区别?

103 投票
1 回答
48405 浏览
提问于 2025-04-17 09:48

在Django应用中,下面这两种导入语句有什么基本的区别呢?

import settings

from django.conf import settings

1 个回答

138
import settings

这段代码会导入你Django项目中的设置模块(当然前提是你是在应用的“根”包中写这段代码)

from django.conf import settings

这段代码会从django.conf包中导入设置对象(这是Django提供的文件)。这点很重要,因为

[..] 请注意,你的代码不应该从global_settings或你自己的设置文件中导入。django.conf.settings将默认设置和特定于网站的设置进行了抽象,它提供了一个统一的接口。这也使得使用设置的代码与设置的位置解耦。

更新:如果你想定义一些自己的设置,可以查看文档的这一部分

撰写回答