视图集
我们在前面已经用了类视图,DRF给我了提供了更加抽象的封装,叫做ModelViewSet。
视图
class GameView(ModelViewSet):
queryset = Game.objects.all()
serializer_class = GameSerializer
路由
game_list = views.GameView.as_view({
'get': 'list',
'post': 'create'
})
game_detail = views.GameView.as_view({
'get': 'retrieve',
'put': 'update',
'patch': 'partial_update',
'delete': 'destroy'
})
path('games/', game_list, name='game-list'), # 获取或创建
path('games/<int:pk>/', game_detail, name='game-detail'), # 查找、更新、删除
路由器
我们可以通过Router类自动帮我们生成路由。
from rest_framework.routers import DefaultRouter
# 创建路由器并注册我们的视图。
router = DefaultRouter()
router.register('games', views.GameView)
path('', include(router.urls)),
注意:去掉
from rest_framework.urlpatterns import format_suffix_patterns
urlpatterns = format_suffix_patterns(urlpatterns, allowed=[‘json’, ‘api’])