如何在Django模板中引用存储的数据库映像?

时间:2019-03-31 07:21:58

标签: python django

我在Django中创建了一个表单,该表单使用户可以在文本框中编写内容并上传图片。上传的图像将进入/media/目录。一切都好,省一件事。我无法在模板中显示这些图像。 我尝试了以下方法,但是没有用。 这是views.py的代码段:

class Article(models.Model):
    title = models.CharField(max_length=100)
    slug = models.SlugField(unique=True, blank=True)
    body = models.TextField()
    date = models.DateTimeField(auto_now_add=True)
    thumbnail = models.ImageField(default='default.png', blank=True)
    author = models.ForeignKey(User, default=None, on_delete=models.CASCADE)

这是我的模板,我要显示用户上传的各个图像。

<div class="articles">
    <div class="article">
        <h1>{{ object.title }}</h1>
        <img src="/media/{{ object.thumbnail }}/" alt="">  # didn't work
        <p>{{ object.body }}</p>
    </div>
</div>

请帮助我解决此问题,谢谢

1 个答案:

答案 0 :(得分:2)

您可以通过访问thumbnail模型的Article字段中的url属性来实现。

对于一个实例,

<div class="articles">
    <div class="article">
        <h1>{{ object.title }}</h1>
        <img src="{{ object.thumbnail.url }}/" alt="">  # This would get url of thumbnail
        <p>{{ object.body }}</p>
    </div>
</div>