From fc57dcbde480c0957754e0f666daa8e1b36b3ddc Mon Sep 17 00:00:00 2001 From: sxw Date: Sat, 8 Aug 2015 08:41:20 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=90=8E=E7=AB=AF]=E4=BF=AE=E6=94=B9=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E5=85=AC=E5=91=8AGET=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=94=E5=9B=9E=E5=85=AC=E5=91=8A=E6=80=BB?= =?UTF-8?q?=E6=9D=A1=E6=95=B0=EF=BC=8C=E6=80=BB=E9=A1=B5=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/views.py | 2 +- utils/shortcuts.py | 8 ++++++-- utils/tests.py | 8 ++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/admin/views.py b/admin/views.py index b37d22d..78762c0 100644 --- a/admin/views.py +++ b/admin/views.py @@ -11,4 +11,4 @@ class AdminTemplateView(APIView): try: return HttpResponse(open(path).read(), content_type="text/html") except IOError: - return HttpResponse(u"模板不存在", content_type="text/html") + raise Http404 diff --git a/utils/shortcuts.py b/utils/shortcuts.py index 852622f..44610a9 100644 --- a/utils/shortcuts.py +++ b/utils/shortcuts.py @@ -70,7 +70,11 @@ def paginate(request, query_set, object_serializer): except Exception: return error_response(u"参数错误") - data = {"results": object_serializer(current_page, many=True).data, "previous_page": None, "next_page": None} + data = {"results": object_serializer(current_page, many=True).data, + "previous_page": None, + "next_page": None, + "count": paginator.count, + "total_page": paginator.num_pages} try: data["previous_page"] = current_page.previous_page_number() @@ -82,4 +86,4 @@ def paginate(request, query_set, object_serializer): except Exception: pass - return success_response(data) \ No newline at end of file + return success_response(data) diff --git a/utils/tests.py b/utils/tests.py index 519870c..31e2f11 100644 --- a/utils/tests.py +++ b/utils/tests.py @@ -51,14 +51,18 @@ class PaginatorTest(APITestCase): self.assertEqual(response.data, {"code": 1, "data": u"参数错误"}) def test_correct_paginate(self): - response = self.client.get(self.url + "?paging=true&limit=1&page_size=1&page=1") + response = self.client.get(self.url + "?paging=true&page_size=1&page=1") self.assertEqual(response.data["code"], 0) self.assertEqual(response.data["data"]["previous_page"], None) self.assertEqual(response.data["data"]["next_page"], 2) self.assertEqual(len(response.data["data"]["results"]), 1) + self.assertEqual(response.data["data"]["count"], 2) + self.assertEqual(response.data["data"]["total_page"], 2) - response = self.client.get(self.url + "?paging=true&limit=1&page_size=2&page=1") + response = self.client.get(self.url + "?paging=true&page_size=2&page=1") self.assertEqual(response.data["code"], 0) self.assertEqual(response.data["data"]["previous_page"], None) self.assertEqual(response.data["data"]["next_page"], None) self.assertEqual(len(response.data["data"]["results"]), 2) + self.assertEqual(response.data["data"]["count"], 2) + self.assertEqual(response.data["data"]["total_page"], 1)