Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在生产服务器上使用Django提供媒体文件_Django_Apache - Fatal编程技术网

在生产服务器上使用Django提供媒体文件

在生产服务器上使用Django提供媒体文件,django,apache,Django,Apache,我知道从技术上讲你不应该这么做,但我别无选择,我需要今天发布我的网站。由于这是我的第一个Django应用程序,我刚刚意识到设置DEBUG=False会导致Django在生产中不再提供媒体文件 让Django为我的媒体文件提供服务的最快和最肮脏的方式是什么?任何帮助都将不胜感激 我想我是糊涂了 通常在生产环境中,我将静态url和媒体url设置到服务器上的指定文件夹 然后我的模板引用 <img src="{{ MEDIA_URL }}images/image1.jpg" /> 它提供C

我知道从技术上讲你不应该这么做,但我别无选择,我需要今天发布我的网站。由于这是我的第一个Django应用程序,我刚刚意识到设置DEBUG=False会导致Django在生产中不再提供媒体文件

让Django为我的媒体文件提供服务的最快和最肮脏的方式是什么?任何帮助都将不胜感激

我想我是糊涂了

通常在生产环境中,我将静态url和媒体url设置到服务器上的指定文件夹

然后我的模板引用

<img src="{{ MEDIA_URL }}images/image1.jpg" />
它提供CSS、JavaScript等服务


我不确定这里面有什么肮脏或不合适的地方

没有捷径可走。实际上只有一种方法:将Apache指向媒体文件夹,并将
静态URL
设置为Apache正在使用的URL。

以下是我最后要做的。我刚刚在apache2.conf文件中添加了以下内容,效果非常好:

Alias /media/ /home/Mysite/mediaroot/

<Directory /home/Mysite/media>
Order deny,allow
Allow from all
</Directory>
Alias/media//home/Mysite/mediaroot/
命令拒绝,允许
通融

Apache现在为我的媒体服务:)

至于像视频之类的媒体文件,我也以同样的方式将它们流式传输。
Alias /media/ /home/Mysite/mediaroot/

<Directory /home/Mysite/media>
Order deny,allow
Allow from all
</Directory>