도장고. - 시그널.
Django에서는 프레임에서 작업을 수행할 때 결합을 해제하는 신호 스케줄링을 제공합니다.통속적으로 말하면 일부 동작이 발생할 때 신호는 특정한 발송자가 일부 수용자를 일깨워 주는 것을 허락한다.
신호 분류
1. Django 내장 신호
Model signals
pre_init # django modal ,
post_init # django modal ,
pre_save # django modal ,
post_save # django modal ,
pre_delete # django modal ,
post_delete # django modal ,
m2m_changed # django modal m2m (add,remove,clear) ,
class_prepared # , app modal , ,
Management signals
pre_migrate # migrate ,
post_migrate # migrate ,
Request/response signals
request_started # ,
request_finished # ,
got_request_exception # ,
Test signals
setting_changed # test ,
template_rendered # test ,
Database Wrappers
connection_created # ,
Django에 내장된 신호의 경우 지정된 신호만 등록하고 프로그램이 해당 작업을 수행할 때 등록 함수를 자동으로 트리거합니다.
from django.core.signals import request_finished
from django.core.signals import request_started
from django.core.signals import got_request_exception
from django.db.models.signals import class_prepared
from django.db.models.signals import pre_init, post_init
from django.db.models.signals import pre_save, post_save
from django.db.models.signals import pre_delete, post_delete
from django.db.models.signals import m2m_changed
from django.db.models.signals import pre_migrate, post_migrate
from django.test.signals import setting_changed
from django.test.signals import template_rendered
from django.db.backends.signals import connection_created
def callback(sender, **kwargs):
print("xxoo_callback")
print(sender,kwargs)
xxoo.connect(callback)
# xxoo , pre_migrate
from django.core.signals import request_finished
from django.dispatch import receiver
@receiver(request_finished)
def my_callback(sender, **kwargs):
print("Request finished!")
2. 사용자 정의 신호
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.