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

时间:2017-03-25 20:25:16

标签: django django-file-upload django-media

我做了什么: 在models.py

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

现在我想访问模板中的图像。我试了一下,但它不起作用:(myimgImage的一个实例。)

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

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

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

其他一些小问题可以解决这个问题:

  • MEDIA_URL什么是好的,它是如何运作的?
  • MEDIA_ROOT什么是好的,它是如何运作的?
  • 应该存储非静态文件(即用户或管理员上传的文件)在哪里?

1 个答案:

答案 0 :(得分:0)

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

MEDIA_URL是投放图片的网址。您可以配置您的网络服务器来执行此操作; Django赢了(虽然它只能在开发模式下完成。)

要访问模板中图片字段的网址,请使用url属性:

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