玩蛇网提供最新Python编程技术信息以及Python资源下载!

求助python django-pagination分页url显示方式问题

django-pagination分页url默认显示方式,例如?page=2 可以改成/page/2的形式么?

这两种用法的场景不一样

?page=2
这里的page=2是以url的参数传递,你可以在django view里面的request.kwargs里面得到,一般用于传递普通参数:
request.kwargs['page'] # 2

/page/2/
这个『2』是url的本体,这种用法一般是配合django class-based view来使用,自动将这个『2』对应的django model object解析出来
例如url.py:

url(r'^user/(?P<pk>\d+)/edit/$', views.YourView.as_view(), name='your_view')

views.py:

from django.views.generic import DetailView
class YourView(DetailView):
    def get_object(self, queryset=None):
        pk = self.kwargs.get(self.pk_url_kwarg, None)
        if int(pk) == 0:
            return None
        return super(Yourview, self).get_object(queryset)

这里的get_object方法做的就是类似的事情,这样你就能直接通过self.object来访问这个对象了
可以参考官方文档
https://docs.djangoproject.com/en/1.7/topics/class-based-views/generic-display/

感觉应该跟分页类没有关系,只是page参数怎么传的问题,可以通过URLConf传,也可以通过QueryString创,取到这个参数后,再用pagination实现分页

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd18925.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月31日 - 11时23分52秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules