如果我检查设置,Django 不提供媒体文件.调试



这会正确提供媒体文件:

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)

文档写道"这不适合生产使用!",所以这就是为什么我需要一种方法在提供媒体文件之前检查DEBUG。我该怎么做。为什么这种方法不起作用?

使用

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

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

最新更新