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

Django not serving media files if I check for settings.DEBUG

这可以正确提供媒体文件:

urlpatterns = [
...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

这不提供媒体文件:

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)

documentation 写成 "This is not suitable for production use!",所以这就是为什么我需要一种方法来在提供媒体文件之前检查 DEBUG。我怎样才能做到这一点。为什么这种方法不起作用?

使用

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

(注意“+”之后的“=”——在您的版本中,您添加了 static() 模式但未将结果分配给 urlpatterns 变量)