4

INSTALLED_APPSのsettings.pyにあるすべてのモデルをインポートするにはどうすればよいですか?モデルを挿入しようとすると、「app1_modelという名前のモデルがありません」というエラーが発生しました。

-ProjectName
--ProjectName
---models
----__init__.py
----admin.py
----app_1_model
----....
----app_n_model
---templates
---__init__.py
---settings.py
---urls.py
---wsgi.py
--manage.py

^プロジェクトの構造^

4

1 に答える 1

11

INSTALLED_APPS はモデル用ではなくアプリ用です。モデルはアプリ内に存在するクラスで、通常は/«app_name»/models.py.

Django プロジェクトの構造を誤解していると思います。チュートリアルの例を試してみてください。

典型的な構造:

/«project»/«app_name»/models.py

そして設定で:

INSTALLED_APPS = [ ... '«app_name»' ... ]

パスにはベース プロジェクト ディレクトリが含まれているため、必要な場所にアプリをインポートできます。

そしてそれらを使用するには:

from «app_name».models import *

しないのが常に最善ですがimport *、代わりに、インポートしたいクラスに名前を付けてください。

コメントの質問に答えるには:

すべてのモデルを 1 つのファイルに格納するという考えが気に入らない場合は (これを行うのが通常ですが)、models というモジュールを作成できます。これを行うには、というディレクトリを作成し、その中に(モジュールとして宣言するために) /«project»/«app_name»/modelsputし、その中にファイルを作成します。__init__.py次に、ファイルの内容を のモジュールにインポートする必要があります__init__.py。これを理解するには、Python モジュールについて読む必要があります。

2 番目のコメントの質問に答えるには:

admin でモデルを表示するには、モデル管理オブジェクトを含むadmin ファイルを作成する必要があります。

そして最後に:

チュートリアルを読んで、Django を完全に理解してください。そうでなければ、あなたは自分の時間を無駄にしています!

于 2013-03-15T15:33:02.477 に答える