mg4377娱乐娱城官网_mg4377娱乐手机版_www.mg4377.com

当前位置: mg4377娱乐娱城官网 > www.mg4377.com > 正文

Django插件pagination达成页面分页功用,angularjs结合

时间:2019-06-22 00:26来源:www.mg4377.com
angularjs与pagination插件能够圆满兑现前端的分页,筛选,找寻等效率,前提当然须要有后台开垦合营,今日大家只说前端完成: 详解angularjs结合pagination插件达成分页功效,angularjspagina

angularjs与pagination插件能够圆满兑现前端的分页,筛选,找寻等效率,前提当然须要有后台开垦合营,今日大家只说前端完成:

详解angularjs结合pagination插件达成分页功效,angularjspagination

angularjs与pagination插件能够圆满兑现前端的分页,筛选,寻觅等职能,前提当然要求有后台开垦合作,今天大家只说前端实现:

1、引进pagination插件,在angularjs引进此前先加载pagination插件;

2、在定义controller的时候,须求注入pagination插件;

3、分页前端原理基本必要有个暗中认可异步央浼,当点击分页,再一次诉求数据并向后台发送当前页码,如若有追寻数据仍然筛选数据作用,在出殡和埋葬央浼的同有时候供给带上与后台开辟共同定义的搜求参数;

Django插件pagination达成页面分页功用,angularjs结合html5兑现拖拽功用。4、废话十分的少上,上代码,基本模板:

var url = '请求路径';

  $http({
    method:"post",
    url:url
  }).success(function(_data) {
    $scope.contentlist = _.data.items;//数据列表
        $scope.pageparameters = _data.data;
    $scope.Searchparameters = {
        //定义你的搜索参数
    }
    // 初始化分页数据
    var pagination;
    $scope.paginationInt = function($data) {
      pagination = $scope.pagination = Pagination.create({

        itemsCount: $data.total_items, // 总数
        itemsPerPage: $data.epage, // 每页条数
        currentPage: $data.page // 当前页码
      });

      // 分页操作
      pagination.onChange = function(page) {
        $scope.page(page);
      };
    };
    $scope.paginationInt($scope.pageparameters);
    // 筛选过滤列表页时传递的参数
    $scope.borrowSearch = function(type, val) {
      $scope.borrowData[type] = val;
      $scope.page(1);//每次搜索都从第一页开始
    };
    // 排序
    $scope.SearchTab = {};
    $scope.SearchStatus = true;
    $scope.current = {
      //你的参数
    };
    // 页码跳转操作
    $scope.skipInput = function(page, endPage) {
      if (!isNaN(page)) {
        var page = parseInt(page, 20),
          endPage = parseInt(endPage, 20);
        if (page > endPage || page <= 0) {
          $scope.skipError = true;
        } else {
          $scope.skipError = false;
        }
      } else {
        $scope.skipError = true;
      }
    };

    $scope.page = function(page) {
      $scope.Searchparameters.current_page = page;

// 分页方法 
$http({ url:url, method:"post", params:$scope.Searchparameters }).success(function(data) { $scope.contentlist = data.items; }); }; });

HTML方法在此略过,不知底的同伴能够私信!

上述正是本文的全体内容,希望对大家的读书抱有援救,也指望我们多多帮忙帮客之家。

angularjs与pagination插件能够健全兑现前端的分页,筛选,找寻等效果,前提当然需...

1.dj-pagination

那是贰个专程分页的Django插件,可以便捷的落到实处数量分页。
官方文书档案[http://dj-pagination.readthedocs.io/en/latest/usage.html#usage]

先来 看看实效:

1、引进pagination插件,在angularjs引进以前先加载pagination插件;

2.不慢落成

    1. 安装
      pip install dj-pagination
    1. 设置
        #1. INSTALLED_APPS设置 
    
        INSTALLED_APPS = (
              # ...
             'dj_pagination',
        )
        #2. middleware设置
    
        MIDDLEWARE = (
              # ...
             'dj_pagination.middleware.PaginationMiddleware',
        )
        #Django <1.10. 是 MIDDLEWARE_CLASSES 设置选项
    
        #3. TEMPLATE_CONTEXT_PROCESSORS:
               #添加这些设置。
              ("django.core.context_processors.auth",
              "django.core.context_processors.debug",
              "django.core.context_processors.i18n",
              "django.core.context_processors.media",
              "django.core.context_processors.request")
    
         #4. 前端设置在模板的顶部添加此行以加载分页标签:
         { % load  pagination_tags  %}
         # 添加要分页处理的数据
         { % autopaginate  object_list  %}
         # 每个页面默认的20个,可指定每页结果数量。
         #{ % autopaginate  object_list  10  %}
         #下面可以for循环遍历object_list 显示数据
         ......
         #5.要显示当前页面和可用页面,使用paginate包含标记
         #在循环结束后放置即可。
         { % paginate  %}
    1. 如上就足以省略达成基础分页。
    • 3.1 自定义分页模板

    /templates/paginatioin/pagination.html,是你的模板地点
    暗许使用pagination/pagination.html
    {% autopaginate posts pagesize %}
    {% paginate using "/templates/paginatioin/pagination.html," %}

  • 3.2 同个模板中数次施用分页

    您能够频仍采纳autopaginate/paginate,必要小心的是你必须在动用paginate前应用autopaginate.

  • 3.3 别的设置

PAGINATION_INVALID_PAGE_RAISES_404
对应页码无效的页码是抛出404荒唐(True)照旧不出示对象(False 暗中认可).
PAGINATION_DISPLAY_PAGE_LINKS
万一设置为False,分页结果为单页则不将呈现页码。默以为True, 单页也显得页码。
PAGINATION_PREVIOUS_LINK_DECORATOR
'上一页'链接的HTML内容前缀,默认为&lsaquo;&lsaquo;也就是 <<
PAGINATION_NEXT_LINK_DECORATOR
'下一页'链接的HTML内容前缀,默以为&rsaquo;&rsaquo;也就是 >>
PAGINATION_DISPLAY_DISABLED_PREVIOUS_LINK
假定设置为False,假诺未有上一页则呈现上一页链接。默认为False。
PAGINATION_DISPLAY_DISABLED_NEXT_LINK
一经设置为False,假使未有下一页则显得下一页链接。默以为False。
PAGINATION_DISABLE_LINK_FOR_FIRST_PAGE
设若设置为False,第一页将?page=1来得分页的链接后缀,否则(True)将被忽略。默感到True。

图片 1

2、在定义controller的时候,需求注入pagination插件;

实现形式:

编辑:www.mg4377.com 本文来源:Django插件pagination达成页面分页功用,angularjs结合

关键词: Django-web