我可以在一个项目中同时使用 Django 和 Rest Framework 视图吗?

pla*_*etp 6 python django django-rest-framework

我想向现有的 Django 项目添加一些 REST API 视图,该项目使用 vanilla Django views。为此,我想使用REST Framework。我想知道我是否可以在一个项目中混合使用 Django 和 RF 视图以及这可能有哪些陷阱(例如,使用身份验证)。

dow*_*123 6

是的,您当然可以同时使用它们,应该没有任何问题。通常,Django 视图使用 SessionAuthentication,您将使用 TokenAuthentication 使用 DRF——最佳实践是将 Session 和 Token 身份验证添加到 DRF 视图中的 authentication_classes——这样你就可以使用可浏览的 api 页面来浏览 apis 一旦你有了也通过密码(会话身份验证)登录

class GenericViewTest(SuperuserRequiredMixin, View):
    def get(self, request, *args, **kwargs):

        return HttpResponse("Test")


class PostTrackingCode(CreateAPIView):
    """
    """
    authentication_classes = (SessionAuthentication, TokenAuthentication)  ----> note this
    permission_classes = (permissions.IsAuthenticated,)
    serializer_class = TrackingInfoWriteSerializer
    model = TrackingInfo
Run Code Online (Sandbox Code Playgroud)