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

执行结果

相关推荐
IT策士15 小时前
Django 从 0 到 1 打造完整电商平台:商品排序与浏览量统计
后端·python·django
IT策士15 小时前
Django 从 0 到 1 打造完整电商平台:商品搜索
后端·python·django
En^_^Joy17 小时前
Django开发:基本入门指南
python·django·sqlite
IT策士2 天前
Django 从 0 到 1 打造完整电商平台:收货地址管理
后端·python·django
2601_957787582 天前
短视频矩阵系统的信号密码:用数字信号处理(DSP)理论,破解“限流“的底层逻辑
矩阵·音视频·信号处理
vx-程序开发2 天前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php
码界筑梦坊3 天前
133-基于Python的全球城市生活成本数据可视化分析系统
开发语言·python·信息可视化·django·毕业设计·生活
2601_957786773 天前
短视频矩阵系统的信号处理密码:用奈奎斯特采样定理破解“限流“黑箱
矩阵·音视频·信号处理
jz_ddk3 天前
[信号处理] 从匹配滤波到精确测距
信号处理·测距·rrc·码间串扰·扩频调制·isi
IT策士3 天前
Django 从 0 到 1 打造完整电商平台:使用 Django 消息框架与用户权限初步
数据库·django·sqlite