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 に答える