我是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(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。
我不确定解决这个问题的最佳方法是什么,我希望这是有道理的,如果需要更多信息,请告诉我。
感谢。
答案 0 :(得分:0)
更改
MEDIA_URL = 'media/'
到
MEDIA_URL = '/media/'
它应该停止附加到URL并替换它。