调用另一个函数时调用函数

时间:2020-03-16 23:56:16

标签: python django

我想从Django视图中调用某些函数。

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


Def a():
       Some stuff

我想在调用view时调用a()函数,而不在视图主体中调用a()。 也许有任何装饰器或其他东西,可以帮助我。 像这样:

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 个答案:

答案 0 :(得分:2)

尽管这项工作太多了,但是您可以使用django signals

  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