我猜你想查看你的 API 信息并有一些可以创建另一个对象的表单。为此,您可以使用来自 rest-framework 的 APIView
我有一个类似这样的项目:
from rest_framework.views import APIView
from rest_framework.response import Response
class MonitorList(APIView):
''' List all Monitors, or create a new Monitor '''
def get(self, request, format=None):
monitors = Monitor.objects.all()
serializer = MonitorSerializer(monitors, many=True)
return Response(serializer.data)
def post(self, request, format=None):
serializer = MonitorSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
class MonitorDetail(APIView):
''' GET, PUT AND DELETE METHODS FOR Monitor '''
def get_object(self, pk):
try:
return Monitor.objects.get(pk=pk)
except Monitor.DoesNotExist:
raise Http404
def get(self, request, pk, format=None):
monitor = self.get_object(pk=pk)
serializer = MonitorSerializer(monitor)
return Response(serializer.data)
def put(self, request, pk, format=None):
monitor = self.get_object(pk=pk)
serializer = MonitorSerializer(monitor, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, pk, format=None):
monitor = self.get_object(pk=pk)
monitor.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
如果你想要创建或编辑某些对象的选项,你应该有 post、put 甚至 patch 方法。可以阅读docs 了解有关 DRF 视图的更多信息。希望我能帮助你。 :)