我配置了媒体目录,但我无法访问媒体目录下的图像

时间:2017-11-22 07:59:22

标签: python django

我配置了媒体目录,但我无法访问媒体目录下的图像:

  

找不到页面(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字段,它确实是您在上方看到的目录图像。

但是我无法在浏览器中获取图像。

1 个答案:

答案 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等。