Python Django:使用for循环查看my db中的所有图像-使用img src
我目前正在学习Django并迈出了第一步。我试图建立一个网络画廊来学习所有的基本知识。我使用静态文件成功地显示了一些图像。因此,我尝试通过ImageFields和数据库中的“upload_to”保存图像,并将其保存到静态目录中。我试图在一个标记中用for循环显示它们中的每个人。我的img使用{%static%}标记正确显示,但是当我尝试插入{{}标记时,它不工作,尽管它是同一个url,但它不工作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中更改静态文件 我尝试了各种其他的筑巢方式 将文档读入静态文件 这根
- 我尝试在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%}
- 转到管理面板并上传任何照片进行测试
。url
,就像这样
@SammyJ我已经试过了。我用.url和.path试过了,两个都不起作用哦,对不起,我的意思是像这样给予,