django自带了Pagnator

导入

from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage

分页

def pagn(data, limit, page):#分页
  paginator = Paginator(data, limit)
  try:
    data = paginator.page(page)
  except PageNotAnInteger:
    data = paginator.page(1)   except EmptyPage:
    data = paginator.page(paginator.num_pages)
  return data

搜索后翻页的时候由于搜索参数不会一起跟着传递,所以我们需要在js里面加上搜索参数

我的方法是通过window.location.href返回当前的url路径,如果有page去掉,加上page=拼接成新的url,该url了里包括了之前的搜索参数

        function getUrl(){
var current_url = window.location.href;
var params = current_url.split('?');
var url = '';
//没有参数
if (params.length == 1){
url += '?'
}
else {
for (i = 0; i < params.length; i++) {
if (params[i].indexOf('page') == -1) {
if (i==0){
url += params[i] + '?'
}else{
url += params[i] + '&'
}
}
}
}
return url
}

href里面必须要是这样的127.0.0.1:8000/xxx而不能是127.0.0.1:8000/这样会报错/xxx&page=2是正确的路径,/&page=2是错误的路径,django无法解析

            //下一页
function nextPage(node) {
var url = getUrl()
{% if datas.has_next %}
var href = url+"page={{ datas.next_page_number}}"
{% else %}
var href = url+"page={{ datas.number }}"
{% endif %}
node.href = href
}
function previousPage(node) {
var url = getUrl()
{% if datas.has_previous %}
var href = url+"page={{ datas.previous_page_number}}"
{% else %}
var href = url+"page={{ data.number }}"
{% endif %}
node.href = href
}
function page(node) {
var url = getUrl()
node.href = url+'page='+node.text
}
function turnPage(node){
var page = $("#input_page").val()
var url = getUrl()
node.href = url+'page='+page
}

django分页及搜索后如何翻页的更多相关文章

  1. bootstrap table 复选框选中后,翻页不影响已选中的复选框

    使用的 jquery版本为 2.1.1 在项目中发现bootstrap table的复选框选中后,翻页操作会导致上一页选中的丢失,api中的 bootstrapTable('getSelections ...

  2. Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页、搜索、格式化、自定义按钮

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  3. JeeSite数据分页与翻页

    本文章介绍的是JeeSite开源项目二次开发时的一些笔记,对于没有使用过JeeSite的可以不用往下看了,因为下面的代码是跟JeeSite二次开发相关的代码,不做JeeSite的二次开发,以下代码对您 ...

  4. jqgrid 翻页记录选中行

    简单的jqgrid列表 $("#list").jqGrid({ url:contextPath + "/getList", postData: data, da ...

  5. 【WebForm】Repeater 序列号 在翻页情况下自增

    asp.net Repeater控件分页时,序号列翻页重新从1开始计数问题的解决思路及方法: 一般情况下,使用 <%# Container.ItemIndex + 1% > 给序号列来自增 ...

  6. Django分页(二)

    Django分页(二) 要求 .设定每页显示数据条数 # # .用户输入页码(第一页.第二页...) # # .设定显示多少页号 # # .获取当前数据总条数 # # .根据设定显示多少页号和数据总条 ...

  7. 解决Hexo博客模板hexo-theme-next的翻页按钮不正常显示问题

    用Hexo搭了个Gitpage的博客,兴冲冲的发了11篇博文后发现翻页按钮不正常显示,显示为<i class="fa fa-angle-right"></i> ...

  8. PHP.25-TP框架商城应用实例-后台2-商品列表页-搜索、翻页、排序

    商品列表页 1.翻页 控制器GoodsController.class.php添加方法lst(),显示列表页 在商品模型GoodsModel.class.php类中添加search方法 /** *实现 ...

  9. Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php

    )------翻页 分页 控件的实现java .net php 1. 关于翻页有关的几大控件::搜索框控件,显示表格控件,翻页器,数据源控件.. 1 2. 翻页的显示格式:: 1 2.1. 通常ui- ...

随机推荐

  1. Hibernate使用固定值关联表

    假设表A与表B需要进行一对一关联,表A的a1字段等于表B的a1字段,同时表B中的b2字段需要为某一固定值,可采取如下方式配置: public class A { private String a; @ ...

  2. 唯快不破:Web应用的13个优化步骤

    https://mp.weixin.qq.com/s?__biz=MjM5NzA1MTcyMA==&mid=2651163004&idx=2&sn=2b1be8014abf19 ...

  3. C#.net随机数函数

    (1)Random rnd = new Random(); int rndNum = rnd.Next();           //int 取值范围内的随机数 int rndNum = rnd.Ne ...

  4. vue-awesome-swiper插件

    http://www.cnblogs.com/songrimin/p/6905136.html 这个地址不错 在上一些我的demo代码 第一步安装 npm install vue-awesome-sw ...

  5. jquery和js中走的弯路

    1.$.each的错误用法 $.each的return xx 不能结束外层的函数,但return true/false可以 所以一般的: var result; $.each(json,functio ...

  6. jquery插件解读之tabs

    先上代码,符简略关键性说明: /** * jQuery EasyUI 1.4.1 *  * Copyright (c) 2009-2014 www.jeasyui.com. All rights re ...

  7. 常用C字符串函数

    static void str_repalce(char *src,char *from,char *to) {     char *p,*q;     int lenFrom;     int le ...

  8. 100 floors 2 eggs

    https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Moc ...

  9. 2018.09.05 任务安排(斜率优化dp)

    描述 这道题目说的是,给出了n项必须按照顺序完成的任务,每项任务有它需要占用机器的时间和价值.现在我们有一台机器可以使用,它每次可以完成一批任务,完成这批任务所需的时间为一个启动机器的时间S加上所有任 ...

  10. 2018.08.19 NOIP模拟 number(类数位dp)

    Number 题目背景 SOURCE:NOIP2015-SHY-10 题目描述 如果一个数能够表示成两两不同的 3 的幂次的和,就说这个数是好的. 比如 13 是好的,因为 13 = 9 + 3 + ...