我配置了媒体目录,但我无法访问媒体目录下的图像:
找不到页面(404)
请求方法:GET
请求网址:http://127.0.0.1:8000/media/images/datadictionary/zfb.png
这是我的settings.py中的设置:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
项目中的我的目录,你看到那里有一个zfb.png:
我的DataDictionary模型如下:
class DataDictionary(models.Model):
appmodelfield = models.CharField(max_length=64, null=True) # app_model_field
name = models.CharField(max_length=16, help_text="总的名称")
content = models.CharField(max_length=32, help_text="内容")
image = models.ImageField(upload_to="images/datadictionary/", null=True, help_text="图标")
parentlevel = models.CharField(max_length=16, null=True, help_text="父级")
你可以看到我的ImageField
,我也点了枕头。
django rest框架Web浏览器响应数据是:
[
{
"id": 5,
"appmodelfield": null,
"name": "支付类型",
"content": "支付宝",
"image": "http://127.0.0.1:8000/media/images/datadictionary/zfb.png",
"parentlevel": null
}
]
您会看到image
字段,它确实是您在上方看到的目录图像。
但是我无法在浏览器中获取图像。
答案 0 :(得分:1)
将此添加到您的项目QueryResult
:
url.py
这仅适用于开发环境,当from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
(生产环境中)中的DEBUG=False
,Django不再处理静态文件和媒体文件时,将处理静态文件和媒体文件web服务器,如apache等。