【发布时间】:2019-02-01 06:35:24
【问题描述】:
我正在使用 django-filter 包。我的页面显示所有书籍。我有5个流派。我希望有人能够单击“可怕”按钮,然后过滤我的书单(用户不必也单击“提交”,只需单击流派按钮)。
但是现在当我点击一个流派按钮时,它并没有过滤。除非我在我的 filters.py 中使用复选框小部件(已注释掉),否则选中该框,然后单击流派按钮,但这看起来很难看。
提前感谢您的帮助!
Filters.py
class BookFilter(django_filters.FilterSet):
genre = django_filters.ModelMultipleChoiceFilter(queryset=Genre.objects.all(),
#widget=CheckboxSelectMultiple)
class Meta:
model = Book
fields = ['genre']
book_list.html
<form method="get">
<ul>
{% for genre in filter.form.genre %}
<li>
<button type="submit" class="button">
{{ genre }}
</button>
</li>
{% endfor %}
</ul>
</form>
更新 感谢 GwynBleidD 的帮助!我还必须将 filter.form.genre 中的流派的 {%} 更改为流派列表中的流派的 {%},在我看来,genre_list=Genre.objects.all()。否则,按钮值为 value=option value=10 而不是 value=10。
【问题讨论】:
标签: django django-filter