【问题标题】:Django admin serving uploaded imageDjango 管理员服务上传的图像
【发布时间】:2014-04-16 21:08:22
【问题描述】:

我是 Django 新手,不知道如何解决这个问题。

我有一个包含如下 ImageField 的模型

name = models.CharField(max_length=100)
description = models.CharField(max_length=1000)
file = models.ImageField(upload_to='img')

然后在我的 settings.py 我有

STATIC_ROOT = os.path.join(PROJECT_PATH, "static")
STATIC_URL = '/static/'

MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
MEDIA_URL = 'media/'

我有以下 url 模式来处理这个

 url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
                            'document_root': settings.MEDIA_ROOT, 'show_indexes' : True
                            })

在管理页面中,我可以将图像完美地上传到媒体文件夹中的预期位置,并且可以通过加载 127.0.0.1:8000/media/img/my_image.jpg 来访问它。问题在于,在标准管理面板中,显示对象当前上传图像的链接只是将 media/img/my_img.jpg 附加到当前 URL 的末尾,因此会收到 404。

我不确定解决此问题的最佳方法是什么,我希望这是有道理的,如果需要更多信息,请告诉我。

谢谢。

【问题讨论】:

    标签: python django django-admin django-file-upload django-media


    【解决方案1】:

    改变

    MEDIA_URL = 'media/'
    

    到

    MEDIA_URL = '/media/'
    

    它应该停止附加到 URL 并替换它。

    【讨论】:

      猜你喜欢
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 2019-09-25
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多