这可以正确提供媒体文件:
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写道“这不适合生产使用!”,这就是为什么我需要一种方法在提供媒体文件之前检查调试。我怎样才能做到这一点。为什么这个方法行不通?
最佳答案
使用
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
(注意“+”后面的“=” - 在您的版本中,您添加了 static()
模式,但没有将结果分配给 urlpatterns
变量)
关于如果我检查设置,Django 不会提供媒体文件。DEBUG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38379084/