django 4.2 自定义signal的使用方法

环境:win11 python3.9.2 django 4.2.11

背景:执行异步数据存储,想要使用该方法实现(失败了)

时间:20240410

说明:记录一下,避免忘记

1、创建django项目,并实现首页

python 复制代码
# 创建项目
django-admin startproject getfiction .  

# 在目录下新建views.py,并写入如下内容
# TestSignal/views.py

from django.shortcuts import HttpResponse


def index(request):
    return HttpResponse("OK")

# 修改路由
# TestSignal/urls.py

from django.contrib import admin
from django.urls import path
from TestSignal.views import index

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', index)
]

测试:

2、创建信号并实现执行

python 复制代码
# TestSignal/views.py

from django.shortcuts import HttpResponse
from django.dispatch import Signal, receiver

# 创建信号
my_signal = Signal()


@receiver(my_signal)
def test_signal(sender, **kwargs):
    return kwargs['info']


def index(request):
    msg = my_signal.send(sender=None, info="hello world")
    return HttpResponse(str(msg[0][1]))

执行结果

相关推荐
luoluoal2 分钟前
基于opencv的疲劳检测系统(源码+文档)
python·mysql·django·毕业设计·源码
安徽必海微马春梅_6688A2 小时前
A实验:生物 脑损伤打击器 自由落体打击器 大小鼠脑损伤打击器 资料说明。
人工智能·信号处理
ktoking6 小时前
Stock Agent AI 模型的选股器实现 [七]
人工智能·python·django
小李独爱秋1 天前
计算机网络经典问题透视:RTS/CTS是强制使用还是选择使用?
网络协议·计算机网络·网络安全·信息与通信·信号处理
BYSJMG1 天前
2026计算机毕设推荐:基于大数据的车辆二氧化碳排放量可视化分析系统
大数据·vue.js·python·mysql·django·课程设计
小李独爱秋1 天前
计算机网络经典问题透视:无线局域网MAC协议中的SIFS和DIFS究竟是什么?
网络协议·计算机网络·macos·网络安全·信息与通信·信号处理
fanged2 天前
信号处理入门3(频域分析)
信号处理
枷锁—sha2 天前
【CTFshow-pwn系列】06_前置基础【pwn 035】详解:利用 SIGSEGV 信号处理机制
java·开发语言·安全·网络安全·信号处理
WangYaolove13142 天前
基于opencv的疲劳检测系(源码+文档)
python·mysql·django·毕业设计·源码
ghie90903 天前
使用经验模态分解(EMD)处理振动信号,并结合样本熵进行特征提取
信号处理