定义视图集需要继承 DRF 提供的视图集类,例如 ModelViewSet:
from rest_framework import viewsets
from .models import Book
from .serializers import BookSerializer
class BookViewSet(viewsets.ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer在这个例子中,我们定义了一个 BookViewSet 视图集,并将 Book 模型的查询集设置为 Book.objects.all(),将 BookSerializer 序列化器设置为默认序列化器。
接下来,需要将定义好的视图集注册到路由中。我们可以使用 DRF 提供的 DefaultRouter 类来帮助我们自动生成 URL 配置。例如,在 urls.py 文件中,我们可以这样注册 BookViewSet:
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import BookViewSet
router = DefaultRouter()
router.register(r'books', BookViewSet)
urlpatterns = [
path('', include(router.urls)),
]在这个例子中,我们首先导入了 DefaultRouter 类和 BookViewSet 视图集。然后,我们创建了一个路由对象 router,并使用 router.register() 方法将 BookViewSet 视图集注册到路由中。r'books' 是 URL 的前缀,最终 URL 为 /books/、/books/{id}/ 等。最后,我们将 router.urls 包含在 Django 的 URLConf 中,以便让 Django 可以将其添加到项目的 URL 配置中。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。