Django应用程序中以下导入语句之间的基本区别是什么?Django - 导入django.conf.settings和导入设置之间的区别
import settings
和
from django.conf import settings
Django应用程序中以下导入语句之间的基本区别是什么?Django - 导入django.conf.settings和导入设置之间的区别
import settings
和
from django.conf import settings
import settings
将导入您的Django项目的设置(的.py)模块(如果你正在写,当然,从你的应用程序的 “根” 包这段代码)
from django.conf import settings
将导入设置从django.conf包(Django的亲对象 vided文件)。 This is important,因为
[..]请注意,您的代码不应该从global_settings或您自己的设置文件导入。 django.conf.settings抽象了默认设置和特定于站点的设置的概念;它提供了一个单一的界面。它还会将使用设置的代码从您的设置位置分离出来。
UPDATE:如果你要定义一些自己的设置,请参阅this part of the documentation
仅供参考,global_settings是django.conf包内的另一个模块。正如文件所说,不要使用它。 – dgraziotin 2012-01-08 20:17:37
请注意,如果您想在单元测试期间覆盖设置,则使用django.conf导入设置中的'''是至关重要的。 – Joris 2015-10-19 11:46:17
另请注意,所有设置名称**应为大写**。也就是说,如果你的设置中有'my_var',那么这将失败:'from django.conf import settings' ...'settings.my_var'。但是如果你将其命名为“MY_VAR”,它将会成功! – 2017-02-09 16:34:33
+1,因为它是谁是新的Django开发一个非常有趣的问题。 – dgraziotin 2012-01-08 20:28:17