我有一个简单的forms.Form
,其中包含forms.ChoiceField
。同一页面下方是django-tables2 Table
。 ChoiceField
驱动提供表的查询的选择条件。简单。 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发送必要的数据,这样它就可以用来重新创建输出。