dayjournal memo

Total 975 articles!!

GeoDjango #005 – ページネーション機能追加

Yasunori Kirimoto's avatar

画像



ページネーション機能を追加するメモ。



画像



/app/api/views.py

from rest_framework import viewsets
# ページネーション読み込み
from rest_framework_gis.pagination import GeoJsonPagination
# シリアライザ読み込み
from .serializers import PointsSerializer, LinesSerializer, PolygonsSerializer
# モデル読み込み
from .models import Points, Lines, Polygons

# ページネーションの設定
class Pagination(GeoJsonPagination):
    # 1ページに表示するオブジェクト数
    page_size = 5

# ポイントビュー
class PointsViewSet(viewsets.ModelViewSet):
    queryset = Points.objects.all()
    serializer_class = PointsSerializer
    # ページネーション適用
    pagination_class = Pagination

# ラインビュー
class LinesViewSet(viewsets.ModelViewSet):
    queryset = Lines.objects.all()
    serializer_class = LinesSerializer
    # ページネーション適用
    pagination_class = Pagination

# ポリゴンビュー
class PolygonsViewSet(viewsets.ModelViewSet):
    queryset = Polygons.objects.all()
    serializer_class = PolygonsSerializer
    # ページネーション適用
    pagination_class = Pagination


rest_framework_gis.paginationを読み込み

# ページネーション読み込み
from rest_framework_gis.pagination import GeoJsonPagination

ページネーションの設定

# ページネーションの設定
class Pagination(GeoJsonPagination):
    # 1ページに表示するオブジェクト数
    page_size = 5

ページネーションの適用

# ページネーションの適用
pagination_class = Pagination


下記URLで確認

http://127.0.0.1:8000/api/points/?page=10



GeoDjangoを手軽に始める環境を公開しています。
geodjango-starter



book

Q&A