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

执行结果

相关推荐
2501_944521592 小时前
Immer 跨端三方库仓颉适配全流程
python·eclipse·django
2501_9481226310 小时前
Qs 跨端三方库仓颉适配全流程
python·react native·django·tornado
CS创新实验室14 小时前
改了模型,数据库为什么能自动跟上?——Django 迁移(migrations)的底层
数据库·django·sqlite
weixin_BYSJ19871 天前
电竞先锋网站---附源码02032
java·vue.js·spring boot·python·django·tomcat·php
2601_949847751 天前
Cookie 跨端三方库仓颉适配全流程
python·django·flask
阿尔泰科技官方2 天前
多机箱异地采集—如何实现数据对齐?阿尔泰科技授时同步实战方案!
科技·数据采集·信号处理·工业自动化·仪器仪表·工控机·机箱
这张生成的图像能检测吗3 天前
(论文速读)ClassBD:让盲反卷积与故障分类器协同学习的抗噪轴承诊断方法
分类·信号处理·故障诊断·去噪
ycydynq3 天前
django利用不涉及数据库form自定义表单 表单元素验证
数据库·django·sqlite
专业程序开发源5 天前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计
FPGA小迷弟5 天前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
c++·python·ai·plotly·django·ai编程·claude