好的,我的django网站上有一个网页。该页面显示一个数据表,该表可以按其列进行排序。当我点击其中一列的标题时,页面
使用网址www.oneOwesomeSite/theHolyPage?orderby=column6
重新呈现自己
这很好,花花公子。
现在,当我点击底部导航栏以分页表格行时,新的网址会变成类似的东西
www.oneOwesomeSite/theHolyPage?page=3
并且orderby过滤器已经消失。
问题是谁在创建新的请求对象,在休息orderby param时向其添加页面参数。
已经知道当程序运行与此表关联的view.py文件时,在此阶段已经设置了请求对象并且原始参数丢失。 还找到了调用分页的HTML文件。
<script>
$(function() {
$('.paginators').on("click", function(event){
$('#form-page').val($(this).data('page'));
$('#search-form').submit();
});
});
</script>
好的,在这里取得了一些进展。
HTML文件有一个表单部分:
<form id="search-form">
<input type="hidden" id="form-page" name="page" value="{{ table.page.number }}">
<input type="hidden" id="form-filter" name="filter_pk" value="{{ current_filter_pk }}">
<!-- by default we sort the table by ascending names. User can change sort by another column by criteria by clicking it's header on the display -->
<input type="hidden" id="form-sort" name="sort" value="{{ table }}">
现在,如果我在这里更改分页代码:
$('.paginators').on("click", function(event){
$('#form-page').val($(this).data('page'));
$('#search-form').submit();
});
并添加以下行:
$('#form-sort').val('date');
然后除了分页之外,表还会按日期列进行排序。 但这是硬编码的。我需要做什么呢?
参见$('#form-page')。val($(this).data('page'));线? 'data-page'与该行相关: 我假设数据('page')从{{table.page.number}}获取内容。 谁是这个桌子的东西?它与django_tables2 API有关吗? 如何查询{{table}}的属性并获取列属性?
伙计,这不是我的代码。它自然没有记录。