私はdjangoアプリケーションを開発しています。私の問題にとって重要なモジュールを以下に示します。
globals.py- >には、アプリケーション全体で使用される定数が含まれています。SITE_NAME
とSITE_DOMAIN
はそれらの2つであり、いくつかの文字列を埋めるために使用されます。これが私がそれらを定義する方法です:
from django.contrib.sites.models import Site
...
SITE_DOMAIN = Site.objects.get_current().domain
SITE_NAME = Site.objects.get_current().name
models.py- >モデルはこのモジュール内にあります。globals.pyからいくつかの定数をインポートします
some_command.py- >グローバルからもいくつかの定数をインポートするコマンド。
コマンドを実行すると、globals.pyから定数がインポートされ、循環インポートの問題が発生します。globals.py内で、 sitesアプリからget_current()が呼び出され、sitesアプリがglobals.pyからインポートされたmodels.pyをインポートします。同じように。
編集:
この循環インポートの問題が発生することなく、アプリケーションは問題なく実行されます。シェルからglobals.pyをインポートしても問題はありません。コマンドでさえ、 manage.pyを呼び出さなくてもシェルから実行できます。
では、循環インポートが原因でmanage.py some_commandが失敗するのはなぜですか?
前もって感謝します。