{% if articles.has_previous %}     "> 使用django-rest-framework的一些疑惑-PHP中文网问答
使用django-rest-framework的一些疑惑
高洛峰
高洛峰 2016-11-14 11:37:51
0
1
802

我想将blog转为前后分离的模式,以前的页码使用Paginator分页后带的方法实现的

可是现在没有办法将这些方法传出去了
我想在serializers的实例化后再往这个instance塞数据,请问怎么做呢?
贴上现有的代码

# serializers.py class ArticleModelSerializer(serializers.ModelSerializer): detail_url = serializers.SerializerMethodField() class Meta: model = Article fields = ('id', 'header', 'content', 'put_time', 'tag', 'click_rate', 'detail_url') def get_detail_url(self, obj): return reverse('detail', args=[obj.id, ''])

问题核心在下面这段代码中

# views.py class ArticlePage(APIView): def get_object(self, page_num): articles = Article.objects.all() paginator = Paginator(articles, 10) try: articles = paginator.page(page_num) return articles except EmptyPage: return paginator.page(paginator.num_pages) except PageNotAnInteger: return paginator.page(1) def get(self, request): articles = self.get_object(page_num=request.GET.get('page')) # 在这里的serializer塞入像总页数之类的数据,方便前端使用 serializer = ArticleModelSerializer(articles, many=True) return Response(serializer.data)


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复 (1)
三叔

rest framework 有个自动分页功能 但是只有在使用通用视图或viewsets时,才会自动执行分页,类视图不行的。这个是关于分页的api文档http://www.django-rest-framework.org/api-guide/pagination/

    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!