gpt4 book ai didi

python - Django 显示 related_name 列表中的第一项

转载 作者:行者123 更新时间:2023-12-01 07:15:17 26 4
gpt4 key购买 nike

我正在使用 Python(3.7) 和 Django(2.2) 开发一个项目,其中我实现了两个模型 ItemModelImages 因此每个项目都会有多个图像并将项目添加到 images 模型中,并添加 lated_name 但当我尝试在 Django 模板中访问这些图像时,它没有提供有关这些图像的任何信息。

这是我的模型:来自models.py:

class ItemModel(models.Model):
stock_number = models.IntegerField(blank=False)
title = models.CharField(max_length=255, blank=False)
price = models.IntegerField(blank=False)
description = models.TextField(max_length=1000)
condition = models.CharField(max_length=255, choices=COND_CHOICES, blank=False)
model = models.CharField(max_length=255)
dimensions = models.CharField(max_length=255)
make = models.CharField(max_length=255)
created_at = models.DateTimeField(auto_now_add=True)

def __str__(self):
return self.title


class Images(models.Model):
item = models.ForeignKey(ItemModel, on_delete=models.CASCADE, related_name='images')
image = models.ImageField(upload_to=images_directory_path)

Update: Here's the function i'm using to rename images:

def images_directory_path(instance, filename):
return '/'.join(['images', str(instance.item.id), str(uuid.uuid4().hex + ".png")])

我正在尝试访问模板中某个项目的这些图像:

{% for img in item.images.all %}
{% if forloop.first %}
<td> {{ item.images.first.name }}</td>
{% endif %}
{% endfor %}

这是 View :

来自views.py:

class Inventory(View, LoginRequiredMixin):
def get(self, request):
items = None
try:
items = ItemModel.objects.all()
except ItemModel.DoesNotExist:
return redirect('home')

return render(request, 'app/inventory.html', {'all_items': items})

这里可能出了什么问题?

最佳答案

看起来你只需要

{% for img in item.images.all %}
{% if forloop.first %}
<td> <img src="{{ img.image.url }}"/> </td>
{% endif %}
{% endfor %}

关于python - Django 显示 related_name 列表中的第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58004988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com