Django - 从模板中的图像字段访问图像

Django - acces image from image field in the template

我做了什么: 在 models.py:

class Image(models.Model):
  img = models.ImageField(blank=True, Null=True)

现在我想访问模板中的图像。我试过了,但没有用:(myimgImage 的一个实例。)

<img src="{{ myimg.img }}">

那么:如何从模板中访问图像?


另一件事:当我像那样使用我的模型时,图像存储在项目根目录中。这似乎不是一个好主意。它们应该存放在哪里?以及如何将它们存储在其他地方。


处理该问题的其他一些小问题:

MEDIA_ROOT 是存储图像的位置。如果它们当前存储在项目根目录下,那是因为那是您定义的 MEDIA_ROOT;不要那样做。不过,您可以将它们放在系统中任何有意义的地方。

MEDIA_URL 是 URL 提供您的图片的位置。由您来配置您的网络服务器来做到这一点; Django 不会(尽管它只能在开发模式下执行。)

要访问模板中图像字段的 URL,请使用 url 属性:

<img src="{{ myimg.img.url }}">