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

执行结果

相关推荐
百锦再9 小时前
第15章 并发编程
android·java·开发语言·python·rust·django·go
JELEE.12 小时前
Django中如何重写save()方法
数据库·django
linuxxx11014 小时前
Centos环境中Django项目中gunicorn的配置和使用
django·centos·gunicorn
linuxxx1101 天前
django测试缓存命令的解读
python·缓存·django
FPGA_ADDA1 天前
全国产复旦微FMQL100TAI 核心板
fpga开发·信号处理·全国产·fmql100tai·zynq7国产化
陈希瑞2 天前
从 0 到 1:Vue3+Django打造现代化宠物商城系统(含AI智能顾问)
人工智能·django·宠物
linuxxx1102 天前
Django 缓存详解与应用方法
python·缓存·django
shixian10304112 天前
conda安装Django+pg运行环境
python·django·conda
jiaoxingk2 天前
Django 接口文档生成:Swagger 与 ReDoc 全面说明
python·django
初听于你2 天前
深入解析IP, ICMP, OSPF, BGP四大核心网络协议
服务器·网络·网络协议·计算机网络·信息与通信·信号处理