【发布时间】:2017-06-20 22:03:59
【问题描述】:
我想向现有的 Django 项目添加一些 REST API 视图,该项目使用 vanilla Django views。为此,我想使用REST Framework。我想知道我是否可以在一个项目中混合 Django 和 RF 视图,以及这可能有什么陷阱(例如,使用身份验证)。
【问题讨论】:
标签: python django django-rest-framework
我想向现有的 Django 项目添加一些 REST API 视图,该项目使用 vanilla Django views。为此,我想使用REST Framework。我想知道我是否可以在一个项目中混合 Django 和 RF 视图,以及这可能有什么陷阱(例如,使用身份验证)。
【问题讨论】:
标签: python django django-rest-framework
是的,您当然可以同时使用它们,应该没有任何问题。通常,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
【讨论】: