简介:本文的首席执行官Note将介绍有关如何将Django页面调整到主页或末端页面的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
标准列表不应复杂。从本质上讲,它分为两部分:接口操作和数据库查询。
数据库查询,只需在查询中查询时添加切片
接口操作做得很好。
在views.py中
在模板/list_view.html中
路线映射,在urls.py中
将其全部删除并页面,并在获取记录的数量上。
我自己解决了并找到了datatables.bootstrap.js(版本3)
注意:在此处修改为原始代码
JavaScript代码
/* jion修改主页,最后一页注意修改*/
/ *设置DataTables初始化的默认设置 */
$ .. extend(true,$ .fn.datatable.defaults,{
“ sdom”:“ row'col-xs-6'l'col-xs-6'frt'row''Col-xs-xs-6'i'col-xs-6'p”,
“ SpaginationType”:“ Bootstrap”,
“劝告”:{
“ slengthmenu”:“ _menu_每页记录”
}
});
/ *默认类修改 */
$ .. extend($ .fn.datatableext.ostdclasses,{{{
“ swrapper”:“ datatables_wrapper form-inline”,
“ sfilterInput”:“ form-control Input-sm”,
“ slengthselect”:“ form-control输入-SM”
});
/ *获取分页信息的API方法 */
$ .fn.datatableext.oapi.fnpaginginfo = function(osettings)
{{{
返回 {
“ istart”:osettings._idisplaystart,
“ ind”:osettings.fndisplayend(),
“ iLength”:osettings._idisplaylength,
“ itotal”:osettings.fnrecordstotal(),
“ ifiltemtotal”:osettings.fnrecordsdisplay(),
“ iPage”:osettings._idisplaylength === -1?
0:Math.ceil(osettings._idisplaystart / osettings._idisplaylength),
“ itotalpages”:osettings._idisplaylength === -1?
0:Math.ceil(osettings.fnrecordsdisplay() / osettings._idisplength)
};
};
/ * Bootstrap样式分页控制 */
$ .. extend($ .fn.datatableext.opagination,{{{
“ bootstrap”:{
“ fninit”:function(osettings,npaging,fndraw){
var ove = osettings.olanguage.opaginal;
var fnclickhandler =函数(e){
e.preventDefault();
if(osettings.oapi._fnpagechange(osettings,e.data.action)){
fndraw(osettings);
}
};
$(npaging).append(
'ul class =“ package”'+
'li class =“第一个禁用” a href =“ https://www.shouxicto.com#"'s+lyng.sfirst+'/a/a/li's +//
'li class =“ prev禁用” a href =“ https://www.shouxicto.com#"'s+lyng.sprevious+'/a/li'ger
'li class =“ next disabled” a href =“ https://www.shouxicto.com#"'gerlyng.snext+'/a/a/li'ger
'li class =“ last disabled” a href =“ https://www.shouxicto.com#"'s+
'/ul'
);
var els = $('a',npaging);
$(ELS [0])。bind('crick.dt',{action:“ first”},fnclickhandler);//在这里添加
$(ELS [1])。bind('crick.dt',{action:“以上”},fnclickhandler);
$(ELS [2])。bind('crick.dt',{action:“ next”},fnclickhandler);
$(ELS [3])。bind('crick.dt',{action:“ last”},fnclickhandler);//在这里添加
},,
“ fnupdate”:function(osettings,fndraw){
var ilistlength = 5;
var opaging = osettings.oinstance.fnpaginginfo();
var an = osettings.aanfeatures.p;
var i,ien,j,sclass,istart,ind,ihalf = math.floor(ilistlength/2);
if(opaging.itotalpages iListlength){
istart = 1;
ind = opaging.itotalpages;
}
否则if(opaging.ipage = ihalf){
istart = 1;
ind = ilistlength;
} else if(opaging.ipage =(opaging.itotalpages-ihalf)){
istart = opaging.itotalpages -ilistlength + 1;
ind = opaging.itotalpages;
} 别的 {
ISTART = OPAGGAGE.IPAGE -IHALF + 1;
ind = istart + ilistlength -1;
}
for(i = 0,ien = an.length; iin; i ++){
//删除中间元素
$('li:gt(1)',[i])。过滤器(':lt(-2)')。消除 ();//修改$('li:gt(0)',AN,AN,AN,AN [i])。filter(':'not(:last)')。消除 ();
//添加新列表项目及其活动处理程序
for(j = isstart; j = ind; j ++){
sclass =(j == opaging.ipage+1)?'class =“ active”':':';
$)
。当您($('li:last',a [i])[0])
.bind('click',函数(e){
e.preventDefault();
osettings._idisplaystart =(parseint($('a',this).text(),10)-1) * opaging.ilength;
fndraw(osettings);
});
}
//从静态元素中添加 /删除禁用类
if(opaging.ipage === 0){{{
$('li:lt(2)',[i])。addClass('disabled');//修改$('li:first',[i])。
} 别的 {
$('li:lt(2)',[i])。removeclass(“禁用”);//修改$('li:first',[i])。
}
if(opaging.ipage === opaging.itotalpages- || opaging.itotalpages === 0){
$('li:gt(-3)',[i])。addClass('disabled');//修改$('li:last',[i])。
} 别的 {
$('li:gt(-3)',[i])。removeclass(“禁用”);//修改$('li:last',[i])。
}
}
}
}
});
/*
* Tabletools Bootstrap组成
*必需的平台2.1+
*/
if($ .fn.datatable.tabletools){
//将片剂用于适合Bootstrap的类型设置为
$ .Extend(true,$ .fn.datatable.tabletools.classes,{
“容器”:“ dttt btn group”,
“纽扣”: {
“正常”:“ BTN BTN默认”,
“禁用”:“禁用”
},,
“收藏”: {
“容器”:“ dttt_dropdown下拉菜单”,
“纽扣”: {
“普通的”: ””,,,
“禁用”:“禁用”
}
},,
“打印”: {
“ info”:“ dttt_print_info模态”
},,
“选择”: {{
“行”:“活动”
}
});
//让收集使用Bootstrap兼容下拉列表
$ .Extend(true,$ .fn.datatable.tabletools.defaults.otags,{
“收藏”: {
“容器”:“ ul”,
“纽扣”:“ li”,
“衬里”:“ A”
}
});
}
效应图:
此内容的升级:1。使用这些Django功能清楚地,您必须非常熟悉整个后端的代码。2。有一些文档,例如UpgradeGuide,可以根据使用的特征进行更改。
这很简单,您可以直接在模板上建立主页链接,并且末端页面链接很好。
另一个解决方案是,如果您使用Paginal(15)返回数据,您会发现此数据将具有每个页面数据,当前页码,总页码,可以根据此数据编写HTML代码。
结论:以上是首席CTO的全部内容注明了有关如何调整Django分页到首页或末端页面的内容。感谢您花时间阅读此网站。我希望这对您有帮助。不要忘记找到主页或最后一页的相关内容。