Как мне вызвать функцию, когда я отправляю запрос на пост Python? - PullRequest
1 голос
/ 08 января 2020

Я запрограммировал, используя django rest framework. Поскольку DRF - это CRUD automati c, я создал представление, как показано ниже.

class PostViewSet(viewsets.ModelViewSet):
  permission_classes = [permissions.IsAuthenticatedOrReadOnly]
  serializer_class = PostSerializer
  queryset = AllfindPost.objects.all()

Кстати, я хотел бы вызывать следующие функции, когда делаю запрос на публикацию.

def send_fcm_notification(ids, title, body):

    url = 'https://fcm.googleapis.com/fcm/send'

    headers = {
        'Authorization': 'key=',
        'Content-Type': 'application/json; UTF-8',
    }

    content = {
        'registration_ids': '',
        'notification': {
            'title': 'title',
            'body': 'body'
        }
    }

    requests.post(url, data=json.dumps(content), headers=headers)

Что мне делать?

1 Ответ

1 голос
/ 08 января 2020

Попробуй это. Вызовите свою функцию после отправки запроса.

def call_my_function():
    pass

class PostViewSet(viewsets.ModelViewSet):
  permission_classes = [permissions.IsAuthenticatedOrReadOnly]
  serializer_class = PostSerializer
  queryset = AllfindPost.objects.all() 

    """
    Create a model instance.
    """
    def create(self, request, *args, **kwargs):
        serializer = self.get_serializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        #call your function Eg.
        call_my_function()
        self.perform_create(serializer)
        headers = self.get_success_headers(serializer.data)
        return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
...