6

我假设它只是被加载到 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?

谢谢。

4

1 回答 1

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 的导入系统可确保在首次导入模块时只加载一次数据。

于 2013-07-23T22:07:10.187 回答