【问题标题】:Django: Error: ImproperlyConfigured Module does not define a " " classDjango:错误:配置不当的模块未定义“”类
【发布时间】:2010-10-29 02:45:40
【问题描述】:

配置不当:中间件模块“report”未定义“ReportMiddleware”类

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

【问题讨论】:

    标签: django django-middleware


    【解决方案1】:

    今天我遇到了同样的错误。这是由于混淆(至少对我而言)命名方案。

    如果你像这样指定你的中间件:

    'yourapp.SomeMiddleware'
    

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

    'yourapp.SomeMiddleware.SomeMiddleware'
    

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

    'yourapp.middleware.SomeMiddleware'
    

    【讨论】:

    • 谢谢,这很有帮助。
    【解决方案2】:

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

    【讨论】:

    • 是的,我在 settings.py 中做了这个
    • 很好。是否在指定包的模块中?
    • 发现问题了,对不起,我的错。
    猜你喜欢
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2015-02-25
    相关资源
    最近更新 更多