【问题标题】:Django MEDIA_URL appending full MEDIA_ROOTDjango MEDIA_URL 附加完整的 MEDIA_ROOT
【发布时间】:2023-03-06 22:31:02
【问题描述】:

在 Django 3 中,我的设置中有这个:MEDIA_URL = '/media/'

我的 MEDIA_ROOT 正确回显 (/home/bradrice/source/repos/bb_backend/media ) 我的网址中有这个:

如果设置.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我正在使用 VersatileImageField 并且图像上传到正确的媒体文件夹。但是,我在 Admin 中看不到图像,如果我单击链接,它会在 URL 前面加上完整的 MEDIA_ROOT 而不仅仅是 /media/ 到显示 url。

我做错了什么。

【问题讨论】:

    标签: django


    【解决方案1】:

    我的错误。在我的模型中,我有这段代码来制作上传路径:

    def艺术品目录路径(实例,文件名):

    # file will be uploaded to MEDIA_ROOT / user_<id>/<filename> 
    return MEDIA_ROOT + '/artwork/{0}'.format(filename) 
    

    然后在我的图像模型中,我有 upload_to=artwork_directory_path。

    我刚刚将它硬编码为 upload_to="artwork" ,一切都开始工作了。

    【讨论】:

      猜你喜欢
      • 2011-06-16
      • 2011-07-27
      • 2023-01-09
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 2014-07-24
      • 2015-07-01
      相关资源
      最近更新 更多