可能是一个非常简单的解决方案,但不能真正想出一个。最终目标是创建一个首先显示类别的画廊。每个类别都应显示最后添加的带有各自类别名称的图像。
我的模型.py
class Category(models.Model):
name = models.CharField(max_length=200)
slug = models.SlugField()
objects = models.Manager()
class Meta:
verbose_name_plural = 'categories'
def __str__(self):
return self.name
class Item(models.Model):
name = models.CharField(max_length=200)
description = models.TextField(blank=False, null=True)
date = models.DateTimeField(blank=False, null=True)
image = models.ImageField(blank=True, null=True)
category = models.ForeignKey(Category, blank=True, null=True, on_delete=models.SET_NULL)
objects = models.Manager()
class Meta:
app_label = 'home'
get_latest_by = 'date'
我的意见.py
def index(request):
cat = Category.objects.all()
latest = Item.objects.latest('date')
context = {
'categories': cat,
'last_added': latest,
}
return render(request, 'gallery/index.html', context)
我的 index.html
{% block content %}
<h4 class="gallery">Gallery</h4>
{% for category in categories %}
<p class="category">{{ category.name }}</p>
<p> <img class="images" src="{{ last_added.image.url }}"> </p>
{% endfor %}
{% endblock %}
我无法弄清楚如何显示各自类别的最新图像。我知道我必须以某种方式创建一个动态查询,该查询将使用 'category.name' 作为变量,但你如何做到这一点?任何输入都是非常有价值的,至少表明我应该工作的方向。
Cats萌萌
相关分类