Вызов функции при вызове другой функции - PullRequest
0 голосов
/ 17 марта 2020

Я хочу вызвать некоторую функцию из django представления.

Class view(view):
    Def get(self):
        Some stuff...
        Return httpresponse


Def a():
       Some stuff

Я хочу вызвать функцию (), когда вызывается представление, без вызова () в теле представления. Может быть, есть какой-нибудь декоратор или что-то еще, что помогает мне в этом. Что-то вроде:

Class view(view):
        Def get(self):
            Some stuff from view
            Return httpresponse

@call_with_view
    Def a():
           Some stuff from a

>> View()
>> some stuff from view
>> Some stuff from a

1 Ответ

1 голос
/ 17 марта 2020

Хотя это слишком много, но вы можете использовать django сигналов для этого:

  1. Создать сигнал при вызове представления
  2. Создать приемник сигнала, чтобы получить этот сигнал и запустить вашу функцию

ваш код будет выглядеть так:

a_func_signal = django.dispatch.Signal()

class View:
    def get():
         a_func_signal
             a_func_signal.send()


@receiver(a_func_signal)
def a():
    some stuff
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...