我对django和python都很陌生。如何在Django模板中显示两个列表?
这在示例代码我提出了,说明我的问题:
模型
class Book(models.Model):
submitted_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='book_subby')
submitted_date = models.DateField(auto_now=True)
book_title = models.CharField(max_length=200)
book_publisher = models.ForeignKey(Publishers)
class Publishers(models.Model):
submitted_by = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='publisher_subby')
submitted_date = models.DateField(auto_now=True)
book_publisher = models.CharField(max_length=200)
查看
def book_list(request):
books = Book.objects.filter(submitted_by=request.user, submitted_date__lte=timezone.now()).order_by('submitted_date')
books_by_publisher =
return render(request, 'book/list_books.html', {
'books': books
})
模板list_books.html
{% for book in books %}
<ul> {{ book.book_publisher }}
<li> {{book.book_title }} </li>
{% endfor %}
这显示:
发布商X
*教科书
出版商ý
*书B
发布商X
*预订Ç
出版商ý
*书d
我想显示:
出版商X
*书A
*书ç
出版商Ÿ
*书B
*图书d
我尝试做多为模板的循环,但不能使它工作。 如果有人能在正确的方向上推动我如何解决这个问题,我将不胜感激。 谢谢,安德烈
作为第一步,您将不得不按照服务器端的发布者对您的图书进行分组。 –
是的,我一直在想办法在视图中这样做。任何提示将我推向正确的方向? – Andreas
见下文。您想在服务器上进行分组:) –