Я не могу получить данные из Django Rest Frame work Api
Я сделал пагинацию на API. После этого у меня возникла проблема. Я не могу отобразить мои данные, которые я получил из API. После реализации пагинации отображение прекратилось.
pagination.py
from rest_framework.pagination import PageNumberPagination
class SmallPagination(PageNumberPagination):
page_size =5
List Api
class MeetingList(generics.ListAPIView):
queryset = CreateNewMeeting.objects.all()
pagination_class = SmallPagination
serializer_class = MeetingSerializer
Permission_Classes = [permissions.IsAuthenticatedOrReadOnly]
filter_backends = (SearchFilter, OrderingFilter)
search_fields = ('meeting_name', 'id')
index.html
def MeetingViewSearch(request):
meeting = "http://127.0.0.1:8000/meetingdetails/?page=1"
read_meeting = requests.get(meeting).json()
context = {'meetings': read_meeting}
return render(request, 'index.html', context)
Я буду рад, если кто-нибудь сможет мне помочь...
Как вы можете видеть there, эта пагинация по умолчанию создаст конверт, который отобразит вам json в виде : { "count": 1023, "next": "https://api.example.org/accounts/?page=5", "previous": "https://api.example.org/accounts/?page=3", "results": [ ... ] }
Как вы видите, это означает, что полученное значение - это не массив, а объект, который содержит ваш массив в поле results. Поэтому вы можете поступить следующим образом :
read_meeting = requests.get(meeting).json()['results']
PS: Также, странно выглядит внутренний запрос через HTTP к вашему собственному сервису для рендеринга шаблона, если только он не будет находиться на отдельном экземпляре ?