我设计了一个类别列表(实际上我只创建了两个类别):
class SuperCategory(models.Model):
name = models.CharField(max_length=50)
image = models.ImageField(upload_to = 'library', null=True)
description = models.TextField(null=True)
slug = models.SlugField(editable=False)
def save(self, *args, **kwargs):
if not self.id:
self.slug = slugify(self.name)
super(SuperCategory, self).save(*args, **kwargs)
def __str__(self):
return self.name
我可以在模板中列出所有类别:
class SuperCatView(ListView):
template = 'products/supercategory_list.html'
model = SuperCategory
supercategory_list.html:
{% for supercategory in object_list %}
<li>
<img src="{{ supercategory.image.url }}" alt="" />
<div class="portfolio-item-content">
<span class="header">{{ supercategory.name }}</span>
<p class="body">{{ supercategory.description }}</p>
</div>
<a href="{% url 'products:vista_categories' pk=supercategory.pk %}"><i class="more">+</i></a>
</li>
{% endfor %}
我的问题是,我想在名为&#34; sample.html&#34; 的同一目录中的第二个模板中列出相同的类别,我认为在第一个实例中只放了相同的第一个模板中使用的标签为&#34; sample.html&#34;:
{% for supercategory in object_list %}
<li>
<a href="#">{{ supercategory.name }}</a>
</li>
{% endfor %}
但没有显示任何内容。我应该更改什么才能在两个模板中列出我的类别?。
我是django的新手,也是python的新手,如果我忽视某些事情,请提前道歉。
谢谢!
答案 0 :(得分:3)
您是否创建了第二个用于sample.html
模板的视图?
class SampleCatView(SuperCatView):
template = 'products/sample.html'
您可以继承第一个视图,只需覆盖模板: - )