我正在查看GitHub上的Django source code(特别是django.conf模块),我从this post了解到你永远不应该导入global_settings模块本身,而只是:
from django.conf import settings
所以我知道这是可行的,但是作为一个习惯于查看源代码的人来了解一些"引擎盖下的#34;这些东西适用于Django,我想更详细地了解如何导入"设置"当django / conf目录中没有settings.py时。
我假设这是一个内置的django,你可以从django.conf导入设置"并且它被django引擎拦截并且构建了正确的设置模块/等。然后过去了。是这种情况,还是我在这里发生了其他事情?
答案 0 :(得分:4)
from django.conf import settings
说“查找django.conf
模块并从中导入名为settings
的变量”。
django.conf
是一个包,因此可以在文件django/conf/__init__.py
中找到源代码django.conf
模块。看一下,最后有一个名为settings
的变量,它是LazySettings
的一个实例。 LazySettings
的源代码可以在文件开头附近找到。