View on GitHub

映画リストビューの作成

Home

映画リストビューの作成

ビュー

backend/api/online/views.py

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from .models import User, Movie               # <- Movieを追加
from .mappers import UserMapper, MovieMapper  # <- MovieMapperを追加
from .utils import hash
import uuid
......
# ↓追加
class MoviesView(APIView):
    """映画リストビュークラス
    """
    def get(self, request, format=None):
        """映画リストを取得する。

        Response
        --------
        movies : json
            映画リスト
        """
        # オブジェクトの取得
        movies = Movie.objects.order_by('?')[:20].prefetch_related('genres')

        # レスポンス
        movies_dict = [MovieMapper(movie).as_dict() for movie in movies]
        data = {
            'movies': movies_dict,
        }
        return Response(data, status.HTTP_200_OK)   
# ↑追加

URLマッピング

backend/api/online/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('users/', views.UsersView.as_view()),
    path('movies/', views.MoviesView.as_view()),  # <- 追加
]

ブラウザで下記URLにアクセスすると、映画データがランダムに20件表示されます。ブラウザを更新すると、映画リストがランダムに切り替わります。