django rest framework分页的示例模板

时间:2014-07-03 06:05:56

标签: django django-templates django-views django-rest-framework

我第一次尝试使用Django REST框架,看看教程没有模板示例,我可以使用什么模板?我试过template_name =' authorListAjax.html'但是我得到了这个回复http://imgur.com/fMlyXDN

views.py

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

urls.py

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

1 个答案:

答案 0 :(得分:0)

您需要设置渲染器:http://www.django-rest-framework.org/api-guide/renderers#templatehtmlrenderer

这意味着添加此行(告诉DRF响应将是HTML,而不是JSON):

renderer_classes = (TemplateHTMLRenderer,)

此外,您无法在视图类上设置模板名称;模板名称属于渲染器类。您可以直接在渲染器上设置它,如下所示:

TemplateHTMLRenderer.template_name = 'authorListAjax.html'

或者您可以覆盖get方法并将其设置在那里,如下所示:

return Response({'user': self.object}, template_name='authorListAjax.html')

我建议您采用第二种方式,因为第一种方式是全局设置模板名称,它可能会让您遇到麻烦:)