РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
556 of 643 menu

Метод signal

Метод signal применяется к экземпляру класса Namespace и создаёт новый сигнал, привязанный к этому пространству имён. Первым параметром передаётся имя сигнала, а вторым - его описание в виде строки документации. Метод возвращает объект сигнала, который можно использовать для подключения обработчиков и отправки событий.

Пространства имён позволяют группировать сигналы по логическому признаку, например по расширению или модулю. Каждый созданный сигнал получает полное имя вида 'namespace.name', что упрощает их идентификацию.

Синтаксис

Namespace.signal(name, doc=None)

Пример

Давайте создадим пространство имён и объявим в нём сигнал:

from flask import Flask from flask.signals import Namespace app = Flask(__name__) mynamespace = Namespace() my_signal = mynamespace.signal('user_login') @my_signal.connect def on_user_login(sender, **extra): print('user logged in', extra.get('username')) @app.route('/') def index(): my_signal.send(app, username='abcde') return 'hello'

Результат выполнения кода при обращении к адресу '/':

hello

Пример

Давайте посмотрим полное имя созданного сигнала:

from flask.signals import Namespace mynamespace = Namespace() my_signal = mynamespace.signal('user_login') print(my_signal.name)

Результат выполнения кода:

"mynamespace.user_login"

Пример

Давайте создадим несколько сигналов в одном пространстве имён:

from flask.signals import Namespace mynamespace = Namespace() signal_started = mynamespace.signal('started') signal_finished = mynamespace.signal('finished') print(signal_started.name) print(signal_finished.name)

Результат выполнения кода:

"mynamespace.started" "mynamespace.finished"

Смотрите также

  • класс Signal,
    который представляет объект сигнала
  • метод connect,
    который подключает обработчик к сигналу
  • метод send,
    который отправляет сигнал всем получателям
  • класс Namespace,
    который создаёт пространство имён для сигналов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить