Python Django-显示模板或嵌套模板中的多个模型查询
我是Django的新手,已经学会了在模板中显示模型数据(在视图中使用Django.generic ListView),方法是使用以下内容将所有内容放入表中:Python Django-显示模板或嵌套模板中的多个模型查询,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,我是Django的新手,已经学会了在模板中显示模型数据(在视图中使用Django.generic ListView),方法是使用以下内容将所有内容放入表中: {% for each in model_list %} <td>{{each.attribute}}</td> {% endfor %} 然而,使用ListView一次似乎只能向模板传递一个字典-上面的文档链接显示了如何使用URL模式来实现这一点,但我希望在同一页面上有多个结果(即,来自洋基和红袜队的球员数据,
{% for each in model_list %}
<td>{{each.attribute}}</td>
{% endfor %}
然而,使用ListView一次似乎只能向模板传递一个字典-上面的文档链接显示了如何使用URL模式来实现这一点,但我希望在同一页面上有多个结果(即,来自洋基和红袜队的球员数据,而不仅仅是一个URL模式,用于在模板的一次迭代中显示洋基队,在另一次迭代中显示红袜队)
--我觉得我对django的理解有一个巨大的漏洞…因为这看起来应该很简单:
-可能是通过父/子模板?但“查询”中使用的URL模式如何工作
我发现的另一个来源是关于过滤器的——这似乎相当简单,而且有点前途:
无论如何,如果有人能为我指出在这种情况下通常要做的事情的正确方向,我将不胜感激。您可以在上下文词典中传递任意数量的项。您也可以在上下文词典中传递词典。谢谢-在模板中,我是否可以将其称为{%for each in context.some_label%}?不,因为上下文指的是模板可以看到的所有内容。只需
for each in some_label
。您可以在上下文词典中传递任意数量的项。您也可以在上下文词典中传递词典。谢谢-在模板中,我是否将其称为{%for each in context.some_label%}?不,因为上下文引用模板可以看到的所有内容。只需for each in some_label
。
class PublisherBookListView(ListView):
context_object_name = "book_list"
template_name = "books/books_by_publisher.html"
def get_queryset(self):
self.publisher = get_object_or_404(Publisher, name__iexact=self.args[0])
return Book.objects.filter(publisher=self.publisher)
def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super(PublisherBookListView, self).get_context_data(**kwargs)
# Add in the publisher
context['publisher'] = self.publisher
return context