点击django-tables2中的行将我带到另一张桌子?

问题描述 投票:0回答:1

我基本上想要点击一行或链接元素,然后带我到另一个过滤表。

例如,假设我有一个流派表:

Romance
Horror
Comedy

我点击浪漫,然后我想要一份所有浪漫书籍的清单。我怎么能用django-tables2做到这一点?

如何获得用户在我的django表中点击的内容?

我试着使用table.py

class GenreTable(tables.Table):
     genre = tables.LinkColumn('books_genre_table')
     class Meta: ...

这不起作用,因为我无法传递数据并过滤它以在下一个视图/ html'books_genre_table.html'中创建一个表

编辑:我已经有一个类型的详细页面,与我想要创建的页面不同。此外,我想以一种新的方式过滤数据,不需要将其保存为带有'pk'的详细信息页面。我只想让所有这些都转到一个网址。

django django-views django-tables2
1个回答
1
投票

假设你有一个像这样的genre网址:

path('some_path/<int:pk>/', genre_book_view, name='books_genre_table')

并有这样的观点(这里我将使用reverse relation从流派获取书籍):

def genre_book(request, pk):
     # will be using genre here to fetch all the books
     genre = Genre.objects.get(pk=pk)
     context = {
         'books': genre.book_set.all()  # using reverse relation to get the books
     }
     return render(request, 'some_template.html', context)

然后你可以像这样链接你的视图:

class GenreTable(tables.Table):
     genre = tables.LinkColumn('books_genre_table', args=[A('pk')])
     class Meta:
        ...
© www.soinside.com 2019 - 2024. All rights reserved.