如果我检查settings.DEBUG,Django不提供媒体文件

Ale*_*lla 1 django django-media

这正确地提供了媒体文件:

urlpatterns = [
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

这不提供媒体文件:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [ ... ] 

if settings.DEBUG:
    urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

文件写道:"这是不适合生产使用!",所以这就是为什么我需要的方式提供服务的媒体文件之前检查DEBUG.我怎样才能做到这一点.为什么这种方法不起作用?

raf*_*lmp 5

使用

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Run Code Online (Sandbox Code Playgroud)

(在'+'之后注意'=' - 在您的版本中,您正在添加static()模式但不将结果分配给urlpatterns变量)