Django:错误:配置不当的模块未定义“” ”班级

发布于 2024-09-29 20:39:20 字数 111 浏览 3 评论 0原文

ImproperlyConfigured:中间件模块“report”未定义“ReportMiddleware”类

但是我已经定义了这个,但可能定义在错误的位置,那么我应该将这个类文件放在哪里?

ImproperlyConfigured: Middleware module "report" does not define a "ReportMiddleware" class

But I had defined this, but probably defined in wrong place, so where should I place this class file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉月流沐 2024-10-06 20:39:20

今天我遇到了同样的错误。这是由于命名方案令人困惑(至少对我来说)。

如果您像这样指定中间件:

'yourapp.SomeMiddleware'

在 settings.py 中并将 SomeMiddleware 类定义放在应用程序目录中的 SomeMiddleware.py 中,您的项目将中断。在这种情况下,settings.py 应为:

'yourapp.SomeMiddleware.SomeMiddleware'

更好的方法是对所有中间件定义使用通用的 yourapp/middleware.py 并像 django.contrib 中间件一样使用它,在这种情况下,您的 seetings.py 应包括:

'yourapp.middleware.SomeMiddleware'

Today I had the same error. It was due to confusing (at least for me) naming scheme.

If you specify your middleware like so:

'yourapp.SomeMiddleware'

in your settings.py and put your SomeMiddleware class definition in SomeMiddleware.py in your application directiory your project will break. In this case settings.py should read:

'yourapp.SomeMiddleware.SomeMiddleware'

a better method would be to use a common yourapp/middleware.py for all middleware definitions and use it like django.contrib middlewares do, in which case your seetings.py should include:

'yourapp.middleware.SomeMiddleware'
尾戒 2024-10-06 20:39:20

您应该将其放入 MIDDLEWARE_CLASSES 设置中指定的包中的模块中。

You should put it within the module in the package as specified in the MIDDLEWARE_CLASSES setting.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文