【发布时间】:2017-03-17 20:38:06
【问题描述】:
我正在使用 Django Rest Framework,我正在尝试使用 doc example 从 API 视图转换为 TemplateHTMLResponse。我能够完成大部分工作并加载模板并传递所有数据,但是该过程的 HTML 方面的文档很少。
我遇到的问题是结果没有分页。我能够访问和迭代所有数据,但我需要分页来组织。
views.py.
class BoxViewSet(viewsets.ModelViewSet):
queryset = Uploadobject.objects.all().exclude(verified=False)
serializer_class = BoxSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,
IsBox)
#renderer_classes = (renderers.TemplateHTMLRenderer)
def list(self, request):
queryset = Uploadobject.objects.all().exclude(verified=False)
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, data=request.data)
if serializer.is_valid():
serdata = self.get_paginated_response(serializer.data)
data= {'objects': queryset,
'serializers': serializer}
return Response(data, template_name='restframework/objectlist.html')
objectlist.html
{% if serializers %}
{{ serializers }}
{% endif %}
{% if objects %}
{% for object in objects %}
<ul>
<li>{{ object.Title }}</li>
<li>{{ object.Category }}</li>
</ul>
{% endfor %}
{% else %}
<p>No objects.</p>
{% endif %}
我已经尝试了很多东西,包括 ListModelMixin 并按照pagination docs 的建议创建自定义分页脚本,但似乎没有任何通过。我读到有从 Django 分页的方法,但我认为将所有分页保留在 Django Rest Framework 中会更简单。据我所知,我有正确的后端数据,只需要更正 HTML。综上所述,在模板页面上以分页设置显示所有模型数据的最简单方法是什么?
【问题讨论】:
标签: python django python-3.x pagination django-rest-framework