我正在读大多数人from django.conf import settings
,但我不明白在django项目文件中只做import settings
的区别。任何人都可以解释这种差异吗?
答案 0 :(得分:64)
import settings
将导入settings.py
中找到的第一个名为sys.path
的python模块,通常是(在默认的django设置中)。它只允许访问您站点定义的设置文件,该文件会覆盖django默认设置(django.conf.global_settings
)。
因此,如果您尝试访问未在设置文件中指定的有效django设置,则会收到错误。
django.conf.settings
不是一个文件,而是一个抽象概念,默认设置和特定于站点的设置的类。当您使用from django.conf import settings
时,Django也会进行其他检查。
您也可以在django docs。
中找到它希望这有帮助。
答案 1 :(得分:12)
from django.conf import settings
是更好的选择。
我为同一个django项目使用不同的设置文件(一个用于“live”,一个用于“dev”),第一个将选择正在执行的文件。