我有一个django-tables2 filterView。过滤器以一种形式模板:
{% if filter %}
<form action="" method="get" class="form form-inline">
{% bootstrap_form filter.form layout='inline' %}
{% bootstrap_button 'filter' %}
</form>
{% endif %}
我在每行中添加了一个复选框字段,我的表格中的表格:
<form action="table_selection" method="get" class="form form-inline">
{% csrf_token %}
{% render_table table 'django_tables2/bootstrap.html' %}
<button class="btn btn-primary red" type="submit" >Submit Rows</button>
</form>
提交时,我会收到以下记录消息:
GET /three_pl/threepl_fulfilments_filter/table_selection?csrfmiddlewaretoken=...
&select_row=198&select_row=158&select_row=159
因此,select_rows非常有趣。但是我迷失了班级的视图,我无法努力处理如何处理表单提交。
这是我的观点:
class FilteredThreePLFulfimentsView(SingleTableMixin,FilterView):
table_class = ThreePL_order_fulfilmentsTable
model = ThreePL_order_fulfilments
template_name = "three_pl/ThreePLFulfilmentsFilter.html" #three_pl/templates/three_pl/ThreePLFulfilmentsFilter.html
filterset_class = ThreePLFulfilmentsFilter
答案:为/table_selection设置URL。在桌面渲染的URL之前进行。
... url(r'^threepl_fulfilments_filter/table_selection',views.three_pl_fulfilments_selection,name='threepl_fulfilments_selection'),
...
和视图:
if request.method == 'GET':
try:
selected_rows = request.GET.getlist('select_row')