Django REST框架分页的jQuery代码

Posted

技术标签:

【中文标题】Django REST框架分页的jQuery代码【英文标题】:Jquery code for Django REST framework pagination 【发布时间】:2014-08-25 01:21:35 【问题描述】:

我有这个来自 Django REST 框架的带有分页的 json,但我不知道如何使用它。

"count": 18, "next": "http://127.0.0.1:8000/ajax/list/?page=6&format=json", 
 "previous": "http://127.0.0.1:8000/ajax/list/?page=4&format=json", 
"results": ["subject": "fd", "date": "2014-06-20", "time_start": "3:36 AM",
 "subject": "fdf", "date": "2014-06-14", "time_start": "3:38 AM"]

http 网址

http://127.0.0.1:8000/ajax/list/?page=5&format=json

django urls.py

url(r'^ajax/list/$', AuthorListAll1.as_view(), name='ajax_list'),

http 网址

http://127.0.0.1:8000/ajax/list/

我知道了http://imgur.com/fMlyXDN

在 django 视图中,template_name = 'authorListAjax.html' 有效吗?为什么我会得到这个http://imgur.com/fMlyXDN

class AccountSerializer(serializers.ModelSerializer):
    class Meta:
        model = Author
        fields = ('subject', 'date', 'time_start')  

class AuthorListAll1(ListAPIView):
    template_name = 'authorListAjax.html'
    queryset = Author.objects.all()
    serializer_class = AccountSerializer
    paginate_by = 2
    paginate_by_param = 'page_size'
    max_paginate_by = 100

【问题讨论】:

【参考方案1】:

您需要定义正确的渲染器类,您可以通过将其放入您的设置来做到这一点:

REST_FRAMEWORK = 
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
        'rest_framework.renderers.TemplateHTMLRenderer',
        'rest_framework.renderers.BrowsableAPIRenderer',
    )

或在您的视图类中,通过添加属性:

renderer_classes = (JSONRenderer, TemplateHTMLRenderer, BrowsableAPIRenderer)

【讨论】:

我现在在 127.0.0.1:8000/ajax/list 获取模板,但该可浏览 api 的地址是什么? 127.0.0.1:8000/ajax/list/?page=2&format=api这是获取api的方法,以备日后参考,再次感谢。

以上是关于Django REST框架分页的jQuery代码的主要内容,如果未能解决你的问题,请参考以下文章

Django REST framwork-04-分页

Django Rest 框架 - APIView 分页

Django rest框架:自定义分页下一个/上一个链接

如何在 django rest 框架的分页 URL 中更改下一个键中的主机?

django-rest-framework框架总结之认证权限限流过滤分页及异常处理

django-rest-framework框架总结之认证权限限流过滤分页及异常处理