私は独自のコンテキスト プロセッサを実装しており、django の設定で適切に構成しようとしています。
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as DEFAULT_PROCESSORS
MY_CONTEXT_PROCESSORS = (
'django.core.context_processors.request',
'com.mysite.apps.myapp.processors.MyProcessor.MyProcessor.process',
)
TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_PROCESSORS + MY_CONTEXT_PROCESSORS
しかし、次のエラーが発生しました:
リクエスト プロセッサ モジュール com.mysite.apps.myapp.processors.MyProcessor.MyProcessor のインポート中にエラーが発生しました:「MyProcessor という名前のモジュールはありません」
MyProcessor
は、静的メソッド " " を持つ単純なクラスですprocess
(私は OOP が大好きで、プロジェクトでクラスとパッケージ アーキテクチャを使用しています)。終了し、正しく綴られています...では、何が問題なのですか?
アップデート:
process
私のクラスを単純な " " 関数 (" ") に置き換えるcom.mysite.apps.myapp.processors.MyProcessor.process
ことで動作します... しかし、私は満足していません... Django はこれらのプロセッサをどのようにロードしますか? アプリ (モデル、テスト、ビューなど) のあらゆる場所でパッケージ/クラスのアプローチを使用していますが、通常は機能します...ここでの違いは何ですか? Python の動的な性質により、「com.mysite.apps.myapp.processors.MyProcessor.MyProcessor
」のようなパスは、クラスまたは標準の「サブモジュール」とは別に解決する必要があります...同意しませんか?