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

Django 4.0.5开发环境快速请求出现Broken pipe及视频加载慢求助

解决方案

1. 处理Broken Pipe错误

这个错误是浏览器快速切换页面时主动断开未完成请求导致的,属于开发环境下的正常现象,不会影响核心功能。若需屏蔽该日志干扰,可修改settings.py的日志配置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'skip_broken_pipe': {
            '()': 'django.utils.log.CallbackFilter',
            'callback': lambda record: not (record.getMessage().startswith('Broken pipe from')),
        }
    },
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'filters': ['skip_broken_pipe'],
        },
    },
    'root': {
        'handlers': ['console'],
        'level': 'INFO',
    },
}

2. 优化大视频加载速度

  • 替换静态文件服务:DEBUG模式下Django自带的静态文件服务效率极低,可单独用Python内置服务器托管视频:
    进入视频所在的静态目录(如static/videos/),运行:
    python -m http.server 8001
    
    模板中修改视频路径:
    <video src="http://127.0.0.1:8001/your_video.mp4" controls></video>
    
  • 优化视频本身:将视频转成H.264等高效编码格式,或生成m3u8分段文件,实现边下载边播放,减少加载等待时长。

3. 提升开发服务器并发能力

Django默认开发服务器为单线程,快速切换页面易阻塞请求,可开启多线程模式:

python manage.py runserver --threaded

也可使用第三方开发服务器增强并发:

pip install django-devserver

在settings.py的INSTALLED_APPS中添加devserver,启动时指定进程数:

python manage.py runserver --workers 4

4. 本地搭建类生产环境(可选)

若需贴近真实环境测试,可快速部署Nginx+Gunicorn:

  • 安装Gunicorn:pip install gunicorn
  • 启动服务:gunicorn your_project.wsgi:application --workers 4
  • 配置Nginx反向代理,让Nginx处理静态文件与视频传输,大幅提升大文件加载效率与并发处理能力。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:15:09