如何在保持排序工作的同时在表单中显示django-tables2表?

时间:2016-03-08 21:43:18

标签: django django-tables2

我有一个简单的forms.Form,其中包含forms.ChoiceField。同一页面下方是django-tables2 TableChoiceField驱动提供表的查询的选择条件。简单。 ChoiceField位于表单中:

<body>
<form action="/e/n/" method="post">
  {% csrf_token %}
  {{ choiceFieldForm }}
  <input type="submit" value="Submit"/>
</form>

{% render_table table %}

</body>

urls.py我有:

urlpatterns = [
  url(r'^$', views.start, name='start'),
  url(r'^n/$', views.n, name='n'),
]

views.py我有:

def n(request):
  if request.method == 'POST':
    # handle "submit" button click
  else:
    # !!! table sort sends GET here

问题是,当我点击表格列对数据进行排序时,它会使用以下格式发送GET:/e/n/。为了返回呈现的模板,我需要将context与页面上的所有字段组合在一起,包括表本身。现在正如我前面提到的,为了提取表数据,我需要知道当前选择的ChoiceField值, not 来自此GET请求。

我错过了什么?

我想,要么让表在不同的URL上发送GET,那么它的列排序不会干扰页面上的数据。或者弄清楚如何使用GET发送必要的数据,这样它就可以用来重新创建输出。

0 个答案:

没有答案