Django Rest framework as_view() 可以接收自定义的POST方法吗

url(r'^user/iwanna/', IWannaViewSet.as_view({'post': 'create'}), name="IWannaPostView"),

一般的做法都是上面这种,复写了框架自带的create方法

我的问题代码:

url(r'^user/invi_code_validation', InvitationCodeViewSet.as_view({"post": "code_validation"}), name="InvitationCodeValidation")
class InvitationCodeViewSet(viewsets.ModelViewSet):

    model = InvitationCode
    serializer_class = InvitationCodeSerializer
    # permission_classes = (IsAuthenticated, PurchasePermission)
    queryset = InvitationCode.objects.all()

    def code_validation(self):
        """
        invitation code validate main func
        :param :
        :return:
        """
        print self.kwargs
        return Response("ok")

我想自己定义一个POST方法,在viewSet里处理自定义的逻辑,我发现上面的代码不能正常工作,请问是不是as_view就不能这么用?

阅读 4.8k
1 个回答

给方法加一个装饰器,
@decorators.list_route(methods=['post'])

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题