Django管理员服务上传的图片



我是Django的新手,我被困在关于我如何解决这个问题。

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

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。

我不知道解决这个问题的最好方法是什么,我希望这是有意义的,如果需要更多的信息,请告诉我。

谢谢。

变化

MEDIA_URL = 'media/'

MEDIA_URL = '/media/'

,它应该停止附加到URL并取而代之

最新更新