提供电影文件时与Django一起回忆错误

提供电影文件时与Django一起回忆错误,django,lighttpd,fastcgi,Django,Lighttpd,Fastcgi,在我的Django应用程序中,我列出了一个包含电影(大约400 MB)的目录的内容。当我尝试在浏览器中播放电影时,我会得到MemoryError。我将此电影内容放在“媒体”文件夹中,我已将其标记为静态 我相信这部电影应该直接通过我的web服务器提供,而不需要将请求传递给Django。在我的配置中是否存在一些错误,或者是否有一个不同的解决方案可用于提供电影,就像在我的案例中一样 我将lighttpd与Django和FCGI一起使用 谢谢。可能是因为您没有配置lighttpd来处理对/media/本

在我的Django应用程序中,我列出了一个包含电影(大约400 MB)的目录的内容。当我尝试在浏览器中播放电影时,我会得到MemoryError。我将此电影内容放在“媒体”文件夹中,我已将其标记为静态

我相信这部电影应该直接通过我的web服务器提供,而不需要将请求传递给Django。在我的配置中是否存在一些错误,或者是否有一个不同的解决方案可用于提供电影,就像在我的案例中一样

我将lighttpd与Django和FCGI一起使用


谢谢。

可能是因为您没有配置lighttpd来处理对
/media/
本身的请求,而Django正在调试模式下运行(
debug=True
在您的
设置.py
中)


如果您遵循Django自己的方法,则不应该发生这种情况。

您的内存不足,因为您在内存中读取了整个文件,并在提供之前对其进行缓冲。从django url.py中删除静态url配置,并将该url配置为由lighthttpd提供服务

但对于这种规模的电影来说,最好的方式是流媒体。看看任何流媒体服务器,看看它是否对您有帮助。这可能对你有帮助。


--Sai

我自己解决了这个错误

实际上,问题在于我的lighttpd服务器配置错误。问题是,我已经将Web服务器配置为将每个请求重定向到Django,并允许Django处理请求并通过Web服务器发送响应

所以,当我请求播放一个大的电影文件(比如说400 MB左右)时,这个请求传到了Django,不知怎的Django正在内存中加载这个文件

由于它是一个内存有限的嵌入式设备,Django抛出了一个“MemoryError”

我改变了我的Web服务器的配置,一切都很顺利


希望这对将来的人有所帮助。干杯

您好,谢谢您的回复。我的settings.py文件中有“DEBUG=True”。现在将其更改为“DEBUG=False”将显示“未处理的异常”。知道吗?看看你的服务器错误日志。异常的回溯应该在那里,为您提供有关问题的更多信息