django--两级联查搜索分页功能-创新互联

在写搜索功能时,对搜索出来的内容进行分页,摸索了很久,因为一开始做分页功能,就是用的自定义的分页,没有用Django使用内置paginator类分页,不过效果还是实现了

成都创新互联公司是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:成都响应式网站建设公司品牌网站建设成都营销网站建设。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都做网站、网站制作、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。

django--两级联查搜索分页功能

    在点击search后,页面显示的搜索内容,当点击下一页的时候,会直接跳回到没有搜索之前的内容,在这里,想了很久,最后用比较笨的方法实现了分页功能

    至于搜索功能的实现,请参考上篇博文 故障管理系统--select两级联动查询

    html.py

#/usr/bin/env python 
#_*_coding:utf-8_*_
from django.utils.safestring import mark_safe
"""
自定义分页类
"""
class PageInfo(object):
    def __init__(self,current,totalitems,peritems=2):
        self.__current=current
        self.__peritems=peritems
        self.__totalItme=totalitems
    def From(self):
        return (self.__current -1)*self.__peritems
    def To(self):
        return self.__current * self.__peritems
    def TotalPage(self):
        result=divmod(self.__totalItme,self.__peritems)
        if result[1]==0:
            return result[0]
        else:
            return result[0]+1
def Search_Program_page(baseurl,currentPage,totalpage,query,query_platform='test_platform'):
    """
    当有搜索数据提交时,所用分页方法
    """
    perPager = 11
    begin = 0
    end = 0
    if totalpage <= 11:
        begin = 0
        end = totalpage
    else:
        if currentPage>5:
            #pass
            begin = currentPage - 5
            end = currentPage + 5
            if end >totalpage:
                end = totalpage
        else:
            begin = 0
            end = 11
    pager_list = []
    if currentPage <= 1:
        prev =  "上一页"
        
    else:
        prev = "上一页"  %(baseurl,currentPage-1,query,query_platform,baseurl,currentPage-1,query,query_platform,)
        
        
    pager_list.append(prev)
    for i in range(begin+1,end+1):
        if i == currentPage:
            temp = " %d "  %(baseurl,i,query,query_platform,i,)
        else:
            
            temp = "
  • %d
  • " %(baseurl,i,query,query_platform,i,)         pager_list.append(temp)         print 'temp--->',temp              if currentPage>=totalpage:         next = "下一页"        else:                 next = "下一页"  %(baseurl,currentPage+1,query,query_platform,baseurl,currentPage+1,query,query_platform,)         print 'next--->',next     pager_list.append(next)          return mark_safe(''.join(pager_list))

    gb001.py

    def try_int(arg,default):
        
        try:
            arg=int(arg)
        except Exception,e:
            arg=default
        return arg

        view视图中的引用,请参考上篇博文 故障管理系统--select两级联动查询

    另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


    文章题目:django--两级联查搜索分页功能-创新互联
    URL标题:http://scjbc.cn/article/gdpic.html

    其他资讯