【问题标题】:Can I use both Django and Rest Framework views in a single project?我可以在一个项目中同时使用 Django 和 Rest Framework 视图吗?
【发布时间】:2017-06-20 22:03:59
【问题描述】:

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

【问题讨论】:

    标签: python django django-rest-framework


    【解决方案1】:

    是的,您当然可以同时使用它们,应该没有任何问题。通常,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
    

    【讨论】:

      猜你喜欢
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      相关资源
      最近更新 更多