谁在Django中显示图像

2024-04-25 17:00:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Django的新手,所以我在models.py中保存了一个图像到数据库中

class Article(models.Model):
    title   = models.CharField(max_length=120)
    content = models.TextField()
    active  = models.BooleanField(default=True)
    picture = models.ImageField(upload_to='documents/pictures', null=True)

现在我想显示这个图像,我使用get_absolute_url方法从数据库中的一行获取当前数据:

def get_absolute_url(self):
        return f'/blog/{self.id}'

在views.py中,我返回一个带有参数'article':get_object_or_404(Article, id=my_id)的renderfun。 现在在我的template index.html中

{% block content %}
    {{ article.content }}
    <img src="{{ article.picture }}" style="width: 200px; height: 200px;" />
{% endblock %}

但如果我在chrome中打开开发者控制台,img路径与我在models.py中设置的路径相同。文档/图片文件夹位于django应用程序的根目录下。 我试图将它移动到当前的应用程序(博客),但这也不起作用。是否必须在settings.py中设置媒体路径? 我使用Django3和sqlite3作为数据库