You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django server启动失败:中间件加载报__init__参数错误如何解决

问题原因

这个报错是Django加载中间件阶段触发的异常,和你编写的模型、迁移操作无关,核心原因是中间件写法不匹配当前Django版本的规范,Django 1.10及以上版本重构了中间件的实现逻辑,老版本的中间件写法会触发该参数不匹配错误。

解决步骤
  • 第一步:打开项目配置文件settings.py,定位到MIDDLEWARE配置列表,排查所有非Django官方自带的自定义中间件、第三方依赖提供的中间件。
  • 第二步:如果是自己写的自定义中间件,调整代码结构符合新版规范,正确示例如下:
class 你的中间件类名:
    def __init__(self, get_response):
        self.get_response = get_response
        # 此处写仅执行一次的初始化逻辑

    def __call__(self, request):
        # 此处写视图执行前的处理逻辑,对应旧版的process_request方法
        response = self.get_response(request)
        # 此处写视图执行后的处理逻辑,对应旧版的process_response方法
        return response
  • 第三步:如果是第三方依赖提供的中间件报错,将对应依赖升级到适配你当前Django版本的最新版即可。
  • 第四步:如果你的settings.py中还在使用旧版配置项MIDDLEWARE_CLASSES,直接将配置项名改为MIDDLEWARE即可。

修改完成后重新执行python manage.py runserver即可正常启动服务。

内容的提问来源于stack exchange,提问作者Atif Shafi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 19:09:03