我试图通过Django管理员上传一个图像,然后在前端的页面或只是通过URL查看该图像。
注意,这些都在我的本地机器上。
我的设置如下:
MEDIA_ROOT = '/home/dan/mysite/media/'
MEDIA_URL = '/media/'
我已经将upload_to参数设置为'images',文件已经正确上传到目录:
'/home/dan/mysite/media/images/myimage.png'
然而,当我试图访问下面的URL图像:
http://127.0.0.1:8000/media/images/myimage.png
我得到一个404错误。
我是否需要为上传的媒体设置特定的URLconf模式?
任何建议都很感激。
谢谢。
这里是我在Django 2.0中所做的。在setting.py中将“First MEDIA_ROOT”设置为“MEDIA_URL”
MEDIA_ROOT = os.path.join(BASE_DIR, 'data/') # 'data' is my media folder
MEDIA_URL = '/media/'
然后通过添加在TEMPLATE_CONTEXT_PROCESSORS中启用媒体context_processors
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
#here add your context Processors
'django.template.context_processors.media',
],
},
},
]
您的媒体上下文处理器是启用的,现在每个RequestContext将包含一个变量MEDIA_URL。
现在你可以在template_name.html中访问它
<p><img src="{{ MEDIA_URL }}/image_001.jpeg"/></p>