映画リストビューの作成
ビュー
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件表示されます。ブラウザを更新すると、映画リストがランダムに切り替わります。