如何在HTML页面中从Django数据库中显示图像?

3

我已经在Django数据库中上传了图片,但是无法在HTML页面上显示这些图片。

图片名称被获取到了,但是没有被显示出来。这是我的代码:

models.py

image=models.FileField(upload_to='images',blank=True)

def save(self, *args, **kwargs):
    super(Movie, self).save(*args, **kwargs)
    filename=self.image.url

results.html

<table>
  <td>
    <tr>{% for i in p %}</tr>
    <tr>{{i.movie_name}}</tr>
    <tr>{{i.description}}</tr>
    <tr>{{i.release_date}}</tr>
    <tr>{{i.ticket_price}}</tr>
    <img src="{{i.image}}"/>
    <tr>{% endfor %}</tr>
  </td>
</table>

请告诉我在 views.py 文件中需要做出哪些更改。

3
可能是重复的问题:如何在模板中获取ImageField的URL?(该问题询问了ImageField,但对于FileField也是一样的。无论如何,您应该考虑使用ImageField。) - solarissmoke
1个回答

0

不要使用

<img src="{{i.image}}"/>

在你的results.html中,使用这个:

<img src="{{ i.image.url }}"/>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接