Python Django:使用for循环查看my db中的所有图像-使用img src

Python Django:使用for循环查看my db中的所有图像-使用img src,python,django,python-3.x,Python,Django,Python 3.x,我目前正在学习Django并迈出了第一步。我试图建立一个网络画廊来学习所有的基本知识。我使用静态文件成功地显示了一些图像。因此,我尝试通过ImageFields和数据库中的“upload_to”保存图像,并将其保存到静态目录中。我试图在一个标记中用for循环显示它们中的每个人。我的img使用{%static%}标记正确显示,但是当我尝试插入{{}标记时,它不工作,尽管它是同一个url,但它不工作 我尝试在settings.py中更改静态文件 我尝试了各种其他的筑巢方式 将文档读入静态文件 这根

我目前正在学习Django并迈出了第一步。我试图建立一个网络画廊来学习所有的基本知识。我使用静态文件成功地显示了一些图像。因此,我尝试通过ImageFields和数据库中的“upload_to”保存图像,并将其保存到静态目录中。我试图在一个标记中用for循环显示它们中的每个人。我的img使用{%static%}标记正确显示,但是当我尝试插入{{}标记时,它不工作,尽管它是同一个url,但它不工作

  • 我尝试在settings.py中更改静态文件
  • 我尝试了各种其他的筑巢方式
  • 将文档读入静态文件
  • 这根线
  • 这根线
我的代码:

<p>Overview</p>

{% block content %}

<div>
{% for image in images %}

  {{ image.img_photo }} <!-- webgalleries/test.jpg -->

  {% load static %}
  <img src="{% static 'webgalleries/test.jpg' %}" alt="{{ image }}"> <!-- working -->
  <img src="{% static '{{ image.img_photo }}' %}" alt="{{ image }}"> <!-- not working -->

{% empty %}
  <p>No content</p>

{% endfor %}

</div>

{% endblock content %}

概述

{%block content%} {%用于图像中的图像%} {{image.img_photo} {%load static%} {%empty%} 没有内容

{%endfor%} {%endblock内容%}
我希望输出是静态目录中的img

非常感谢您的提示、建议或其他形式的帮助


非常感谢你

好的,如果要显示数据库中的图像,应执行以下步骤:

1-转到您的settings.py并在那里编写此代码

MEDIA_ROOT= os.path.join(BASE_DIR,"media")
MEDIA_URL= "/media/"
2-然后在项目中创建名为“media”的新文件夹,并在名为“images”的“media”中创建文件夹(最终结果将与此“media/images”类似)

3-去你班上有“img_照片”的model.py

你应该这样写模型

class Images(models.Model):

    img_photo = models.ImageField(upload_to='images/',null=True, blank=True)

    def get_image(self):
        if self.img_photo and hasattr(self.img_photo, 'url'):
            return self.img_photo.url
        else:
            return '/path/to/default/image'

    def __str__(self):
        return self.img_photo
4-转到admin.py,然后写:

from yourapp.models import Images
然后在下面加上这一行

管理站点注册(图片)

然后打开终端或控制台并写入:

1-python manage.py makemigrations

2-python manage.py迁移

5-在html代码中,您必须编写:

    {% for image in Images %}

    <img src="{{ image.get_image }}" >

    {% endfor %}
{%用于图像中的图像%}
{%endfor%}
  • 转到管理面板并上传任何照片进行测试

谢谢您的回答。我试过你的解决方案,但仍然不起作用。您如何在img中实现url,例如:?我很抱歉你犯了这个错误,你应该用新的html修改再写一次,如果可以的话,请记下我的答案。我试过了,但是不行。这就是我所说的问题。我认为这与我的URL路径有关。你测试过你的解决方案了吗,它对你的有效吗?是的,它对我有效。我已经编辑了答案。请按我写的方式编辑模型(复制和粘贴),并在html中按我写的方式编辑,它会起作用。你必须在图像对象后给出
。url
,就像这样
@SammyJ我已经试过了。我用.url和.path试过了,两个都不起作用哦,对不起,我的意思是像这样给予,