我认为它只会被加载到settings.py中,然后该对象将从设置中导入,但我只是想知道是否有更标准或推荐的方法来执行此操作。人们通常在哪里装载他们整个项目需要看到的物品?
实施例。
# settings.py
...
something_large = json.loads(...)
# whatever models.py, views.py, etc
from Project.settings import something_large #Is this the proper way to do it?
感谢。
答案 0 :(得分:6)
您可以将其加载到应用中的data
模块中,以使其更清晰。
(我还展示了如何从模块所在的同一目录中加载文件。)
project/
settings.py
...
myapp/
__init__.py
data.py
huge_static_data.json
models.py
...
myapp/data.py
:
with file(os.path.join(os.dirname(__file__), "huge_static_data.json")) as in_f:
something_large = json.load(in_f)
myapp/models.py
:
from myapp.data import something_large
Python的导入系统确保在首次导入模块时只加载一次数据。