如果我检查设置,Django 不会提供媒体文件。DEBUG

标签 django django-media

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

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/

相关文章:

python - Django - 更新主键字符字段重复实例

javascript - 如何在 Django 内联中使用自定义 JS

python - 个人资料图片未显示在 django 模板基本 html 页面中

django - 为什么 Dajaxice 和 Dajax 使用 MEDIAL_URL?

python - 在 Django 中验证错误时将 css 类添加到字段

python - 尽管设置正确,媒体中的 Django 图像仍不显示

python - 用 Beautiful Soup 解析 Html 返回空列表

django - {% cycle %} 解决嵌套的 for 循环?

python - 找不到 Django 媒体 URL

django - 在 Django 中设置多个 MEDIA_URL 和 MEDIA_ROOT