小编典典

在Django开发期间提供静态媒体服务:为什么不使用MEDIA_ROOT?

python

我阅读了有关在开发过程中使用Django提供静态媒体的指南

我注意到了,MEDIA_URLMEDIA_ROOT没有在此使用。为什么?有什么不同?

我尝试使用MEDIA_URL和进行操作MEDIA_ROOT,但结果很奇怪。


阅读 143

收藏
2020-12-20

共1个答案

小编典典

在生产情况下,您希望从前端Web服务器(Apache,Nginx等)提供媒体,以避免在Django /
Python进程上造成额外负担。通常使用MEDIA_URL和MEDIA_ROOT。

运行内置的开发服务器,您需要在url.py文件中设置正确的url-我通常使用类似这样的内容:

from django.conf import settings

urlpatterns += patterns('',
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
)

它将从您的设置文件中获取MEDIA_ROOT,这意味着它可用于开发和实时运行。

2020-12-20