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