Метод connect
Метод connect применяется к объекту сигнала
NamedSignal и привязывает функцию к этому
сигналу. Первым параметром передаётся функция-получатель.
Вторым необязательным параметром можно указать отправителя,
чтобы получатель срабатывал только для этого отправителя.
Третий необязательный параметр weak управляет
слабой ссылкой на функцию.
Синтаксис
signal.connect(receiver, [sender], [weak])
Пример
Давайте создадим сигнал и подключим к нему функцию-получатель:
from flask import Flask
from blinker import Namespace
app = Flask(__name__)
my_signals = Namespace()
user_logged_in = my_signals.signal('user-logged-in')
def log_user(sender, **extra):
return 'user logged in'
user_logged_in.connect(log_user)
Результат выполнения функции-получателя:
"user logged in"
Пример
Давайте подключим получателя только к конкретному отправителю:
from flask import Flask
from blinker import Namespace
app = Flask(__name__)
my_signals = Namespace()
user_logged_in = my_signals.signal('user-logged-in')
def log_user(sender, **extra):
return f'logged in from {sender}'
user_logged_in.connect(log_user, sender='admin')
Результат выполнения функции-получателя для отправителя 'admin':
"logged in from admin"
Смотрите также
-
класс
NamedSignal,
который представляет собой сигнал -
метод
send,
который отправляет сигнал получателям -
метод
disconnect,
который отключает получателя от сигнала -
метод
connect,
который подключает получателя к сигналу