使用 Django 无限分页进行过滤
Posted
技术标签:
【中文标题】使用 Django 无限分页进行过滤【英文标题】:Filtering with Django endless pagination 【发布时间】:2016-11-30 04:56:12 【问题描述】:其他人以前曾问过此问题,但未提供任何答案。实际上,目标是使用 Django 的 Twitter 风格的无限分页来实现搜索功能。用户修改了一些界面字段,并且无限表在考虑新用户输入的情况下重新初始化。
我有一个 模板 A,它是包含嵌入式 模板 B 的主模板,用作我的无尽表格的容器。当用户向下滚动时,表格会加载附加数据:
<select id = 'parameter' class="form-control input-sm">
<!-- my options -->
</select>
<table>
<thead>...</thead>
<tbody>
% include 'my_app/template_B.html' %
</body>
</table>
模板B的结构似乎与问题无关,所以我省略了。
初始化模板 A 的 Django 视图:
def my_view(request,\
parameter_id = None,
template='order_scheduler/template_A.html',\
extra_context=None):
if parameter_id is None:
# do smth
else:
# do smth
return render_to_response(template,
context,
context_instance=RequestContext(request)):
问题:当用户修改参数组合框的值而不刷新模板A时,如何重新初始化模板B中的无限表?
【问题讨论】:
【参考方案1】:您可以根据 POST 中传递的参数创建一个呈现 template_B.html
的视图,然后在您的页面中:
$(function()
var parameter = $('#parameter');
parameter.on('change', function()
$.post("/your/viev/url", 'parameter': parameter.val(), function(response)
$('tbody').html(response);
);
);
);
【讨论】:
以上是关于使用 Django 无限分页进行过滤的主要内容,如果未能解决你的问题,请参考以下文章