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

能否用Uvicorn替代Daphne为Django本地开发服务器添加ASGI支持?

能否用Uvicorn替代Daphne实现Django的ASGI支持?

可以,完全能用Uvicorn替代Daphne来为Django提供ASGI支持,操作起来甚至更简洁——如果只是单纯启用ASGI而非依赖Channels的WebSocket等功能,连INSTALLED_APPS的配置都不需要改。

具体操作步骤:

  • 先安装Uvicorn:
    pip install uvicorn
    
  • 直接用Uvicorn启动Django的ASGI应用:
    找到项目根目录下的asgi.py文件,执行以下命令(把your_project_name替换成你的实际项目名称):
    uvicorn your_project_name.asgi:application --reload
    
    其中--reload参数和runserver的自动重载效果一致,适合开发环境使用。

运行效果示例:

INFO:     Will watch for changes in these directories: ['/path/to/your/project']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [12345] using WatchFiles
INFO:     Started server process [12347]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

补充说明:

  • 如果你的项目用到了Channels的WebSocket、长连接等高级功能,Uvicorn也能完美配合Channels使用,只要确保Channels的ASGI应用正确挂载即可,没必要非得用Daphne。
  • Django从3.0版本开始就原生支持ASGI,Uvicorn作为标准的ASGI服务器,完全兼容Django的ASGI接口,稳定性和性能都有保障。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 21:27:33