由于某些原因我无法弄清楚,除了在我的Django应用程序中尝试访问media
文件(用户上传的文件)时不断出现的“愚蠢”错误,为什么我只是无法提供media
个文件!
在这种特殊情况下,我想要的只是能够将图像提供给已经上传的前端。我通过/static/
正确地提供了静态文件,但是当我尝试提供我的/site_media/
文件时,它会破坏!我能做错什么?
因此,在意识到Django实际上并没有真正处理媒体文件之后,我决定采用推荐的mod_python
选项来使用Apache,就像建议在生产中一样。但我以前从未这样做过,我想知道这是否值得在开发服务器上遇到麻烦。
嗯,我知道最终我必须在生产时走这条路,所以仍然需要学习如何做到这一点,但这条路线在开发服务器上的优缺点是什么?
答案 0 :(得分:0)
由于django无需处理媒体就能更快地满足请求,因此肯定是专家。
一个问题是,如果您在编辑媒体时,还需要重新启动Apache,以便刷新媒体。
根据您的评论进行更新:
你当然可以轻松地做到这一点。我练习这个的一个简单方法是,通过使用nginx并将媒体文件夹符号链接到启用了nginx站点并在端口80(或任何其他)上运行nginx。
您可以在设置中设置MEDIA_URL,并使用适当的端口将其指向网址。
答案 1 :(得分:0)
首先,推荐mod_python 不。事实上,它特别推荐反对。改为使用mod_wsgi。
其次,我们没有办法在通过开发服务器提供静态媒体时告诉您出错了什么,因为您没有提供设置的代码或详细信息。
最后,没有理由不能使用Apache - 或者更好的是,使用像nginx这样的轻量级服务器 - 而只是将它指向静态目录。然后,将settings.py中的STATIC_URL
设置为该服务器提供的地址。在开发过程中,它所使用的端口没什么区别。