0

我做了什么:在models.py

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

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

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

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


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


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

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

1 回答 1

0

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

MEDIA_URL是提供图片的 URL。由您来配置您的网络服务器来执行此操作;Django 不会(尽管它只能在开发模式下进行。)

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

<img src="{{ myimg.img.url }}">
于 2017-03-25T22:24:25.300 回答