Класс NamedSignal
Класс NamedSignal применяется для создания именованных сигналов,
которые позволяют организовать слабую связь между компонентами
приложения. Первым параметром передаётся имя сигнала в виде строки.
Вторым необязательным параметром передаётся doc - строка документации
для описания назначения сигнала.
Синтаксис
from flask.signals import NamedSignal
signal = NamedSignal(name, doc=None)
Пример
Давайте создадим собственный именованный сигнал и подпишемся на него:
from flask import Flask
from flask.signals import NamedSignal
app = Flask(__name__)
user_registered = NamedSignal('user_registered')
@user_registered.connect
def on_user_registered(sender, **extra):
print('user:', extra['username'])
user_registered.send(app, username='abcde')
Результат выполнения кода:
"user: abcde"
Пример
Давайте передадим строку документации при создании сигнала:
from flask.signals import NamedSignal
article_created = NamedSignal(
'article_created',
doc='Sent when a new article is created.'
)
print(article_created.name)
print(article_created.__doc__)
Результат выполнения кода:
"article_created"
"Sent when a new article is created."