鱼C论坛

 找回密码
 立即注册
查看: 1484|回复: 2

关于django分页问题

[复制链接]
发表于 2017-12-23 11:33:30 | 显示全部楼层 |阅读模式
20鱼币
首先说明一下情况,我使用的类视图函数直接调用的分页器
然后前端代码是这样的
  1. <div class="well text-center cut-page">
  2.     <ul class="list-inline">
  3.         {% if page_obj.has_previous %}
  4.         <a href="?page={{ page_obj.previous_page_number }}">上一页</a>
  5.         {% else %}
  6.         <li class="no-page" title="当前页已经是首页">上一页</li>
  7.         {% endif %}
  8.         <li>第 {{ page_obj.number }} / {{ paginator.num_pages }} 页</li>
  9.         {% if page_obj.has_next %}
  10.         <a href="?page={{ page_obj.next_page_number }}">下一页</a>
  11.         {% else %}
  12.         <li class="no-page" title="当前页已经是末页">下一页</li>
  13.         {% endif %}
  14.     </ul>
  15. </div>
复制代码


其实这个模板本身是没有问题的,我一直都是用这个,很简单的分页

但是,之前的请求URL都是没有带?a=1 这种类型的参数的,所以我可以在分页的时候使用
  1. <a href="?page={{ page_obj.next_page_number }}">
复制代码

这种方式,就相当于传递了一个?page=2
问题来了,如果本身我的页面地址是http://www.stopfollow.com/,那分页没问题,会形成http://www.stopfollow.com/?page=2 这种格式(目前网站也正是这样)
但是现在我有一个连接是这样的http://www.stopfollow.com/search?q=爬虫,这是搜索页面,也就是本身是传递了一个q参数的,这里已经有了一个?,那我再传递一个?page就有问题,会出现http://www.stopfollow.com/search?q=爬虫?page=2这种错误URL
正确应该是http://www.stopfollow.com/search?q=爬虫&page=2

我想问的就是,在<a href="?page={{ page_obj.next_page_number }}">下一页</a>这个地方怎么避免?page=这种半硬性编码?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-12-23 16:21:55 | 显示全部楼层
这个问题简单来说,就是django怎么不通过ajax的方法来传递类似于?page=1&k=abc 这种多参数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-23 19:52:00 From FishC Mobile | 显示全部楼层
get请求就得这么传,或者你将url改为动态url
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 04:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表