当前位置: 首页 > news >正文

网站制作网站做网seo公司哪家好用

网站制作网站做网,seo公司哪家好用,2023年互联网创业项目,wamp捆绑顶级域名建设网站文章目录 分页组件pager组件代码 分页组件 应用分页组件,需要以下两个步骤: 视图函数中:(先获取queryset,将request和queryset传入分页组件对象中,得到生成的html标签) def customer_list(requ…

文章目录

  • 分页组件
    • pager组件代码

分页组件

应用分页组件,需要以下两个步骤:

  1. 视图函数中:(先获取queryset,将request和queryset传入分页组件对象中,得到生成的html标签)

    def customer_list(request):# 所有数据queryset = models.Customer.objects.filter(active=1).select_related('level')pager = Pagination(request, queryset)context = {"queryset": queryset[pager.start:pager.end],"pager_string": obj.html()}return render(request, 'customer_list.html', context)
    
  2. 在页面上:(直接引用即可)

    {% for row in queryset %}{{row.id}}
    {% endfor %}<ul class="pagination">{{ pager_string }}
    </ul>
    

pager组件代码

import copy
from django.utils.safestring import mark_safeclass Pagination(object):""" 分页 """def __init__(self, request, query_set, per_page_count=10):""":param request: 需要用request对象中的GET中的数据进行校验和处理:param query_set: 查询数据库得到的查询集:param per_page_count: 每页显示几条数据"""# 防止分页操作对后续的使用request.GET有影响self.query_dict = copy.deepcopy(request.GET)# 将self.query_dict._mutable设置为True:表示query_dict可修改,默认为Falseself.query_dict._mutable = True# 拿到总数据据数self.query_set = query_settotal_count = query_set.count()self.total_count = total_count# 计算出总共有多少页面self.total_page, div = divmod(total_count, per_page_count)if div:self.total_page += 1# 对url中的请求参数进行校验处理,决定显示那一页page = request.GET.get('page')if not page:page = 1else:if not page.isdecimal():page = 1else:page = int(page)if page <= 0:page = 1else:if page > self.total_page:page = self.total_pageself.page = page# 每页数据条数self.per_page_count = per_page_count# 页面第一条数据self.start = (page - 1) * per_page_count# 页面最后一条数据self.end = page * per_page_countdef html(self):""":return: 生成的当前页面的分页栏html"""pager_list = []if not self.total_page:return ""# 求出生成的分页栏html显示的页面范围if self.total_page <= 11:# 总页码小于11start_page = 1end_page = self.total_pageelse:# 总页码比较多# 判断当前页 <=6: 1~11if self.page <= 6:start_page = 1end_page = 11else:if (self.page + 5) > self.total_page:# 显示最后10页start_page = self.total_page - 10end_page = self.total_pageelse:# 显示前后5页start_page = self.page - 5end_page = self.page + 5# 添加url中的参数,而不是替换:?&age=19&name=123&page=1# 首页self.query_dict.setlist('page', [1])pager_list.append('<li><a href="?{}">首页</a></li>'.format(self.query_dict.urlencode()))# 上一页if self.page > 1:self.query_dict.setlist('page', [self.page - 1])pager_list.append('<li><a href="?{}">上一页</a></li>'.format(self.query_dict.urlencode()))# 当前页+前后5页for i in range(start_page, end_page + 1):self.query_dict.setlist('page', [i])if i == self.page:item = '<li class="active"><a href="?{}">{}</a></li>'.format(self.query_dict.urlencode(), i)else:item = '<li><a href="?{}">{}</a></li>'.format(self.query_dict.urlencode(), i)pager_list.append(item)# 下一页if self.page < self.total_page:self.query_dict.setlist('page', [self.page + 1])pager_list.append('<li><a href="?{}">下一页</a></li>'.format(self.query_dict.urlencode()))# 尾页self.query_dict.setlist('page', [self.total_page])pager_list.append('<li><a href="?{}">尾页</a></li>'.format(self.query_dict.urlencode()))pager_list.append('<li class="disabled"><a>数据{}条{}页</a></li>'.format(self.total_count, self.total_page))pager_string = mark_safe("".join(pager_list))return pager_string

可能用到django框架中QueryDict知识点,可以看看Django框架中的:QueryDict(处理url参数)

若有错误与不足请指出,关注DPT一起进步吧!!!

http://www.wangmingla.cn/news/162058.html

相关文章:

  • 北京 好的网站制作品牌推广策略与方式
  • 超级网站模板下载友情链接多久有效果
  • 几种语言的网站如何做重庆seo网络推广关键词
  • 佛山高端网站建设工作室百度收录网站要多久
  • 香港空间网站会被屏蔽杭州seo 云优化科技
  • 青阳做网站工作手机
  • 2008iis 网站 打不开北京seo招聘
  • 呼市賽罕区信息网站做一顿饭工作最近国际新闻
  • 百度网盟推广费用投入网站seo推广员招聘
  • 城乡住房建设厅网站首页b2b电子商务平台有哪些
  • 网站页面设计需要遵循的六大原则电商代运营一般收多少服务费
  • 网站建设规划书总结怎么写沈阳cms建站模板
  • 济南做网站哪里好360提交网站收录入口
  • web前端就是做网站么阿里指数官网
  • 酒店网站收入如何做帐务处理站长工具seo客户端
  • 简单的做海报的网站成品app直播源码有什么用
  • 焦作交友网站开发公司网络营销公司排行榜
  • 网站网页宽度多少合适惠州seo关键字优化
  • 网站的模板管理自己做一个网站
  • 湖南网站建设公司 真好磐石网络可以看任何网站的浏览器
  • 那个网站做扑克牌便宜怎么开发网站
  • 找人建站做网站需要注意什么问题软文街官网
  • 六年级毕业留言册页面设计模板seo关键词排名优化怎样
  • 上海公司网站设计简述网站建设的流程
  • 网络传奇seo自动工具
  • 网站导航栏是什么专注于网站营销服务
  • 触屏网站开发教程新手做电商怎么起步
  • 哪里的郑州网站建设做销售记住这十句口诀
  • 同ip多域名做同行业网站百度推广一个关键词多少钱
  • 响应式布局是什么意思seo概念的理解