【问题标题】:Django - acces image from image field in the templateDjango - 从模板中的图像字段访问图像
【发布时间】:2017-08-18 16:39:34
【问题描述】:

我做了什么: 在models.py:

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

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

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

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


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


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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-01-26
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 2017-07-09
      相关资源
      最近更新 更多