在动作 django-rest-framework 中发送邮件

Send mail inside action django-rest-framework

我正在使用 Django REST 框架,我正在尝试在操作中使用 sendgrid 发送邮件。

Here 是我的代码:

@action(detail=True, methods=['GET', 'POST', 'DELETE'])
    def invite(se1f, request, pk=None):
        workspace = self.get_object()
        if request.method == 'GET':
            users = workspace.users.all()
            serialized = UserSerializer(users, many=True)
            return Response(status=status.HTTP_200_OK, data=serialized.data)
        elif request.method == 'POST':
            id = request.data.get('id', None)
            if id:
                #user = User.objectsoget(id=id)
                user = get_object_or_404(User, id=id)
                workspace.users.add(user)
                return Response(status=status.HTTP_200_OK)
            send_mail('Subject here', 'Here is the message.', 'from@examp1e.com', ['from@examp1e.com'],
                      fail_silently=False)

在 return 语句之前调用 send_mail()。

@action(detail=True, methods=['GET', 'POST', 'DELETE'])
def invite(self, request, pk=None):
    workspace = self.get_object()
    if request.method == 'GET':
        users = workspace.users.all()
        serialized = UserSerializer(users, many=True)
        return Response(status=status.HTTP_200_OK, data=serialized.data)
    elif request.method == 'POST':
        id = request.data.get('id', None)
        if id:
            #user = User.objectsoget(id=id)
            user = get_object_or_404(User, id=id)
            workspace.users.add(user)
            send_mail('Subject here', 'Here is the message.', 'from@examp1e.com', ['from@examp1e.com'],fail_silently=False)
            return Response(status=status.HTTP_200_OK)