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]))

执行结果

相关推荐
Ro Jace4 小时前
AI全科研流程辅助:以信号处理领域为例
人工智能·信号处理
weixin_690654744 小时前
龙迅#LT7941UX 适用于4路HDMI/DP/TPYE-C转MIPIDSI/CSI /LVDS 混切应用功能,分辨率高达4K60HZ。
计算机外设·音视频·信号处理
飞Link6 小时前
后端架构选型:Django、Flask 与 Spring Boot 的三剑客之争
spring boot·python·django·flask
【赫兹威客】浩哥6 小时前
【赫兹威客】框架模板-后端命令行部署教程
python·django
Bruce_Liuxiaowei1 天前
基于抓包分析的组播视频流故障排查与解决
网络·网络协议·wireshark·信号处理
2502_911679141 天前
KEYSIGHT是德 N1912A功率计:宽带多通道功率测量的标杆之选
大数据·网络·信息与通信·信号处理
【赫兹威客】浩哥1 天前
【赫兹威客】框架模板-后端bat脚本部署教程
python·django
诗远Yolanda1 天前
EI国际会议-通信技术、电子学与信号处理(CTESP 2026)
图像处理·人工智能·算法·计算机视觉·机器人·信息与通信·信号处理
2501_944526421 天前
Flutter for OpenHarmony 万能游戏库App实战 - 主题切换实现
android·开发语言·javascript·python·flutter·游戏·django
编程小风筝1 天前
Django REST framework实现安全鉴权机制
数据库·安全·django