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

执行结果

相关推荐
JavaWeb学起来4 小时前
Django学习教程(一)Django介绍和环境准备
django·python web·web框架·django教程
network_tester6 小时前
TSN网络流量及协议测试:为确定性网络护航的关键技术
网络·网络协议·车载系统·汽车·信息与通信·信号处理
IT策士6 小时前
Django 从 0 到 1 打造完整电商平台:使用 Celery 异步发送邮件/短信
后端·python·django
IT策士7 小时前
Django 从 0 到 1 打造完整电商平台:商品缓存优化(Redis)
redis·缓存·django
小许同学记录成长9 小时前
多速率信号处理源码深度剖析
算法·信号处理
IT策士12 小时前
Django 从 0 到 1 打造完整电商平台:Nginx + uWSGI 部署 Django 项目
nginx·django·sqlite
Dxy123931021612 小时前
Django如何获取请求IP?从踩坑到最佳实践
tcp/ip·django·sqlite
小许同学记录成长1 天前
gr-filter 滤波与多速率模块完整源码分析
算法·信号处理
小许同学记录成长1 天前
gr-analog 模拟信号模块完整源码分析
python·算法·信号处理
IT策士1 天前
Django 从 0 到 1 打造完整电商平台:我的订单列表与订单详情
后端·python·django