单击 django-tables2 中的行将我带到另一个 table?
Click on row in django-tables2 to take me to another table?
我主要是想单击一行或链接的元素,然后转到另一个已过滤的 table。
例如,假设我有 table 种类型:
Romance
Horror
Comedy
我点击浪漫,然后我想要一个所有浪漫书籍的列表。我如何使用 django-tables2 执行此操作?
如何获取用户在我的 Django 中点击的内容 table?
我试过用
table.py
class GenreTable(tables.Table):
genre = tables.LinkColumn('books_genre_table')
class Meta: ...
这行不通,因为我无法传递数据并对其进行过滤以在下一个 view/html 'books_genre_table.html'
中生成 table
编辑:我已经有一个与我要创建的页面不同的流派详细信息页面。此外,我想以一种新的方式过滤数据,不需要将其保存为带有 'pk' 的详细信息页面。我只想让所有这些都归于一个 url。
假设您有这样的 genre
URL:
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)
然后你可以link你的观点是这样的:
class GenreTable(tables.Table):
genre = tables.LinkColumn('books_genre_table', args=[A('pk')])
class Meta:
...
我主要是想单击一行或链接的元素,然后转到另一个已过滤的 table。
例如,假设我有 table 种类型:
Romance
Horror
Comedy
我点击浪漫,然后我想要一个所有浪漫书籍的列表。我如何使用 django-tables2 执行此操作?
如何获取用户在我的 Django 中点击的内容 table?
我试过用 table.py
class GenreTable(tables.Table):
genre = tables.LinkColumn('books_genre_table')
class Meta: ...
这行不通,因为我无法传递数据并对其进行过滤以在下一个 view/html 'books_genre_table.html'
中生成 table编辑:我已经有一个与我要创建的页面不同的流派详细信息页面。此外,我想以一种新的方式过滤数据,不需要将其保存为带有 'pk' 的详细信息页面。我只想让所有这些都归于一个 url。
假设您有这样的 genre
URL:
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)
然后你可以link你的观点是这样的:
class GenreTable(tables.Table):
genre = tables.LinkColumn('books_genre_table', args=[A('pk')])
class Meta:
...