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

Django集成WebSocket报错:ModuleNotFoundError: No module named 'daphnedjango'

Django + Daphne 报错 ModuleNotFoundError: No module named 'daphnedjango'

核心问题

不存在名为daphnedjango的Python包,你遇到的错误是拼写错误导致的——正确的包名是daphne,你可能在某个配置文件里误将其写为daphnedjango。

排查与修复步骤

  1. 检查settings.py的INSTALLED_APPS
    打开项目根目录的settings.py,确认INSTALLED_APPS列表顶部的条目是'daphne',而非'daphnedjango'。新项目正常运行是因为你严格按照文档配置了正确的包名,旧项目大概率是手滑多输入了字符。

  2. 全局搜索错误字符串
    在项目根目录下执行终端命令,快速定位所有包含错误拼写的文件:

    grep -r "daphnedjango" .
    

    找到后将所有daphnedjango替换为daphne即可。

  3. 验证ASGI配置正确性
    检查asgi.py文件,确保没有导入daphnedjango的错误代码,正确的ASGI启动框架示例如下:

    import os
    from django.core.asgi import get_asgi_application
    from channels.routing import ProtocolTypeRouter, URLRouter
    from channels.auth import AuthMiddlewareStack
    import your_app.routing
    
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project.settings')
    
    application = ProtocolTypeRouter({
        "http": get_asgi_application(),
        "websocket": AuthMiddlewareStack(
            URLRouter(
                your_app.routing.websocket_urlpatterns
            )
        ),
    })
    
  4. 确认虚拟环境依赖
    确保旧项目的虚拟环境中已正确安装Daphne和Channels:

    pip list | grep -E "(daphne|channels)"
    

    若未安装,执行安装命令:

    pip install daphne channels
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 18:52:54