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)