4

ImproperlyConfigured: ミドルウェア モジュール "report" は "ReportMiddleware" クラスを定義していません

しかし、私はこれを定義しましたが、おそらく間違った場所で定義したので、このクラスファイルをどこに配置すればよいでしょうか?

4

2 に答える 2

16

今日、同じエラーが発生しました。これは、(少なくとも私にとっては)紛らわしい命名スキームが原因でした。

ミドルウェアを次のように指定した場合:

'yourapp.SomeMiddleware'

あなたのsettings.pyで、あなたのSomeMiddlewareクラス定義をあなたのアプリケーションディレクトリのSomeMiddleware.pyに入れれば、あなたのプロジェクトは壊れます。この場合、settings.py は次のようになります。

'yourapp.SomeMiddleware.SomeMiddleware'

より良い方法は、すべてのミドルウェア定義に共通の yourapp/middleware.py を使用し、django.contrib ミドルウェアのように使用することです。この場合、seetings.py に次を含める必要があります。

'yourapp.middleware.SomeMiddleware'
于 2011-11-21T21:57:32.307 に答える
1

設定で指定されているように、パッケージ内のモジュール内に配置する必要がありMIDDLEWARE_CLASSESます。

于 2010-10-29T02:53:10.327 に答える