在开的过程中优先考虑以下四个视图
下面的方法中包含了包含了get/post/put(patch)/delete 的方法,并可以通过重写方法来实现不同的逻辑。
ListCreateAPIView- 列表和创建视图RetrieveUpdateAPIView- 详情和更新视图RetrieveDestroyAPIView- 详情和删除视图RetrieveUpdateDestroyAPIView- 详情、更新和删除视图
以下两个使用例子包含了所有的增删改查
1. 简单的 ListCreateAPIView 示例
python
运行
复制
from rest_framework import generics
from myapp.models import Book
from myapp.serializers import BookSerializer
class BookListCreateView(generics.ListCreateAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
这个简单的视图类会自动提供:
- GET 请求:返回所有书籍的列表
- POST 请求:创建新书籍
2. RetrieveUpdateDestroyAPIView 示例
python
运行
复制
class BookDetailView(generics.RetrieveUpdateDestroyAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializer
这个视图类提供:
- GET 请求:获取单个书籍详情
- PUT/PATCH 请求:更新书籍
- DELETE 请求:删除书籍