是否可以在Django模板中过滤模型?

2024-09-28 01:31:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我在下面添加了我的视图和模板代码。我的问题是,如何获得鸟(模型1)和相应的鸟的详细信息(模型2) --------视图------

all_birds = Bird.objects.all()
detail = Detail.objects.all()
template = loader.get_template('bird/bird.html')
contex = {
    'all_birds': all_birds,
    'details': detail,
}
return HttpResponse(template.render(contex, request))

----------模板--------

{% for birds in all_birds %}
        <div class="container">
            <div class="row">
                  <div id="board" data-columns>
                    <div class="item">
                        <div class="ani-box">
                            <a href="{% static 'bird/images/img_10.jpg'%}" class="image-popup fh5co-board-img">
                                 <img src="{% static 'bird/images/img_10.jpg'%}" alt="No Image available"></a>
                        </div>
                    </div>
                  </div>
             </div>
        </div>
    {% endfor %}

Tags: 模型divboard视图模板imgobjectsstatic
1条回答
网友
1楼 · 发布于 2024-09-28 01:31:34

你需要得到每只鸟各自的细节,假设它们是通过外键关联的

如果您有“Widget”和“Specs”的模型,例如:

class Widget(models.Model):
    name = models.CharField(max_length=255)
    specs = models.ForeignKey('Specs')

class Specs(models.Model):
    foo = models.IntegerField()
    bar = models.UrlField()

如果你有一个所有小部件的上下文,即{'widgets': Widget.objects.all(),当你遍历它们时,你可以访问它们的Specs对象

{% for widget in widget %}
   <ul>
   <li>{{ widget.name }}</li>
   <li>{{ widget.specs.foo }}</li>
   <li>{{ widget.specs.bar }}<li>
   </ul>
{% endfor %}

相关问题 更多 >

    热门问题