跳到主要内容

收藏电影接口实现

本节课我们来实现收藏电影的后端接口。

1. 创建Collects路由​

在后端项目的URLs.py文件中注册Collects路由,并将其与CollectViewSet视图集关联。

dx_movie/dx_movie/urls.py
from account import views as accout_views

router = DefaultRouter()
router.register(r'movie', views.MovieViewSet)
router.register(r'category', views.CategoryViewSet)
router.register(r'collects', accout_views.CollectViewSet, 'collect')

2. 创建CollectViewSet视图集​

在Account应用的views.py文件中,创建CollectViewSet视图集,并继承Rest Framework的ModelViewSet类。 关键代码如下:

dx_movie/account/views.py
from rest_framework.response import Response 
from account.models import Profile
from django.core.exceptions import ObjectDoesNotExist


class CollectViewSet(viewsets.ModelViewSet):
queryset = Movie.objects.all()
serializer_class = MovieSerializer

def list(self, request):
pass

def create(self, request):
user = request.user
profile = Profile.objects.get(user=user)
movie_id = request.data['movie_id']
try:
movie = Movie.objects.get(id=movie_id)
profile.movies.add(movie)
return Response({
'status_code': 0,
'message': '收藏成功'
})
except ObjectDoesNotExist:
return Response({
'message': '电影信息不存在'
})
except:
return Response({
'message': '收藏失败'
})

def destroy(self, request):
pass
🔒 试读结束

继续阅读完整内容

以上为免费预览。前往「Django + Vue 全栈课程」,查看后续完整讲解、案例演示和配套资料。

查看课程详情