我阅读了有关在开发过程中使用Django提供静态媒体的指南。
我注意到了,MEDIA_URL并MEDIA_ROOT没有在此使用。为什么?有什么不同?
MEDIA_URL
MEDIA_ROOT
我尝试使用MEDIA_URL和进行操作MEDIA_ROOT,但结果很奇怪。
在生产情况下,您希望从前端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,这意味着它可用于开发和实时运行。