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

时间:2017-06-20 22:03:59

标签: python django django-rest-framework

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

1 个答案:

答案 0 :(得分:2)

是的,你肯定可以同时使用它们,不应该有任何问题。通常,Django视图使用SessionAuthentication,并且您将使用TokenAuthentication使用DRF - 最佳做法是将Session和Token身份验证添加到DRF视图中的authentication_classes - 这样您就可以使用可浏览的api页面来浏览api了通过密码(会话认证)登录

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