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

执行结果

相关推荐
Warren986 小时前
软件测试常见面试题
linux·python·django·flask·virtualenv·pygame·tornado
空影星6 小时前
ValiDrive:一键验证USB真实容量
python·智能手机·django·flask
不知更鸟10 小时前
无法联系上下文
python·django
r***113317 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
百锦再2 天前
第21章 构建命令行工具
android·java·图像处理·python·计算机视觉·rust·django
【建模先锋】2 天前
创新首发!齿轮箱故障诊断:基于MTF+Swin-Informer的多模态创新模型
分类·信号处理·故障诊断·齿轮箱故障诊断·时频图像
贝塔实验室2 天前
Altium Designer 6.0 初学教程-在Altium Designer 中对PCB 进行板层设置及内电层进行分割
嵌入式硬件·fpga开发·编辑器·硬件工程·信息与通信·信号处理·pcb工艺
MCM-RL1111113 天前
自由落体颅脑损伤打击器 自由落体打击器 脑损伤打击器 自由颅脑损伤落体操作臂
嵌入式硬件·物联网·测试工具·安全·信号处理
清静诗意3 天前
独立 IoT 客户端绕过 Django 生命周期导致数据库断链:诊断与修复
python·mysql·django·生命周期
不知更鸟3 天前
Django 项目设置流程
后端·python·django