当前位置: 首页 > 知识库问答 >
问题:

Django:从数据库中提取图像并在模板中显示

黄仲渊
2023-03-14

我是姜戈的初学者,对一件事很着迷,我不知道该怎么做。我想显示一个存储在数据库中的图像到我的模板。图像上载到文件夹“static/img”。

这是我的数据库:

class Post(models.Model):
author = models.ForeignKey('auth.User')
title = models.CharField(max_length=300)
content_brief = models.TextField()
content_major = models.TextField()
img_brief = models.ImageField(upload_to='static/img')
image_major = models.ImageField()
created_date = models.DateTimeField(default=timezone.now)
publish_date = models.DateTimeField(blank=True, null=True)


def publish(self):
    self.publish_date = timezone.now()
    self.save()


def __str__(self):
    return self.title

这是我的模板:

{% for post in posts %}
<div class="panel panel-lg panel-custom">
                    <div class="panel-heading post-heading1">
                        <img src="{{ post.img_brief.url }}">
                    </div>
....
</div>
{% endfor %}

我的views.py:

def home_page(request):
    posts =   Post.objects.filter(publish_date__lte=timezone.now()).order_by('publish_date').reverse()
    return render(request, 'home.html', {'posts': posts})

使用TEMPLATE_DIRS、STATIC_ROOT和static_url更新settings.py。

共有1个答案

佴阳辉
2023-03-14

好吧,首先,如果你能指定你所困的准确的部分或错误,那就太好了。

其次,如果您的唯一目的是根据某种条件显示图像,而您的Web应用程序用户永远不会上传任何图像,也就是用户上传图像时没有像Facebook上传那样的表单,那么从技术上来说,您的模型中并不真正需要ImageField。

您可以简单地将图像名存储在CharField中,然后在视图中编写一个函数,为其构建一个URL,该URL可以在模板中使用,以便从静态/img目录读取图像,因为您已经指定了静态。

此外,Django的官方文档说,您需要安装“pillow”才能使用ImageField()。https://docs.djangoproject.com/en/1.9/ref/forms/fields/#ImageField

同样,指定错误或您被卡住的部分将对解决问题有很大帮助

 类似资料:
  • 但是宽度和高度较低的图像成功地加载到图像视图中! 有人能告诉我代码有什么问题吗?我做错了什么?我只想从库中导入相机图像,并在图像视图中显示它们!

  • 被一个问题缠住了。我是android开发的新手。我的问题是我有一个SQLite数据库,我正在其中保存映像和一些数据,但当我检索这些数据时,映像没有显示在ListView中。其他数据正在被推翻。 这是我的自定义列表布局 null 这是我的自定义适配器 } 这是activity 这是数据列表

  • 我是PHP的新手,需要在一个项目中弄清楚这一点--我用HTML制作了一个image submit表单,它将div中的img更改为使用该表单选择的图像。下面是我如何完成的: 而且 我需要将这个图像上传到我为每个用户在MySql数据库中的medium Blob创建的列中。我尝试了许多不同的方法(尝试了等),但不知道我在做什么。 我现在正在学习本教程-http://www.sevenkb.com/php

  • 我正在与一位摄影师客户合作创建一个简单的网站,我希望建立一个从Dropbox文件夹中提取的照片库,因此每当她想更新库中的图像时,她只需将照片从Dropbox文件夹中交换出来。很简单,对吧? 有没有办法使用jQuery或PHP从Dropbox目录中提取图像并将其显示到网页上?我已经成功地从Dropbox上的文本文件中提取了文本,但我不知道是否可以对目录中的图像进行相同的操作。 我在谷歌上做了一些搜索

  • 问题内容: 我将尝试构建一个Web应用程序,用户可以在其中访问URL,登录并查看报告和其他信息。但是,报告的数据存储在外部数据库中。这是一个我将要访问的MySQL数据库。 我在Google上做了一些研究,没有太多运气找到任何例子。我已经读了一些有关连接到多个数据库的文章-https://docs.djangoproject.com/en/dev/topics/db/multi- db/ 所以看来我