网址上未显示Django 3.1媒体前缀

时间:2020-09-11 11:30:21

标签: django

我正在使用Django 3.1。

settings.py看起来像

BASE_DIR = Path(__file__).resolve(strict=True).parent.parent

MEDIA_ROOT = BASE_DIR / 'media'
MEDIA_URL = '/media/'

urls.py看起来像

from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我的模型图像字段看起来像

dev_image_one = models.ImageField(upload_to='dev/', blank=True, null=True, verbose_name = 'image 1')

文件上传后,它们最终位于/ media / dev目录。

要显示它们时,URL看起来像:

<img src="dev/1.png">

如果我手动将/ media /附加到url的前面,则会显示图像。我以前从来没有遇到过这个问题,所以我对发生的问题不知所措。我以前从未使用过3.1,所以我想知道这是否与它无关。静态文件没问题。谢谢。

1 个答案:

答案 0 :(得分:1)

确保settings.py像

IntStream

在您要访问图像的任何页面中加载color.blue

使用toArray访问图片