使用Django REST Fram呈现模板

2024-05-16 17:48:28 发布

您现在位置:Python中文网/ 问答频道 /正文

现在我正在帮助一个朋友使用Django REST框架构建他的站点。我不太熟悉它,所以当我打开包含视图的模块时,我很困惑我需要在哪里加载视图的模板:

class ProfileView(APIView):

    permission_classes = [IsAuthenticated]

    def get(self, request):
        serialized = UserProfileSer(instance=request.user)
        return Response(serialized.data)

    def post(self, request):
        serialized = UserProfileSer(instance=request.user, data=request.data, partial=True)
        if serialized.is_valid():
            serialized.save()
            return Response(serialized.data)

        return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)

我习惯做return render(request, 'some_template.html', context) 我知道序列化的基本功能,但我不知道如何使用它来加载模板,或者如果我应该的话。对不起


Tags: djangoinstanceself视图模板datareturnresponse
1条回答
网友
1楼 · 发布于 2024-05-16 17:48:28

根据rest框架文档,试试这个

class UserDetail(generics.RetrieveAPIView):
    """
    A view that returns a templated HTML representation of a given user.
    """
    queryset = User.objects.all()
    renderer_classes = (TemplateHTMLRenderer,)

    def get(self, request, *args, **kwargs):
        self.object = self.get_object()
        return Response({'user': self.object}, template_name='user_detail.html')

如果你想知道更多,请参考API docs

相关问题 更多 >