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

执行结果

相关推荐
计算机编程-吉哥2 小时前
计算机毕业设计 基于Python的智能文献管理系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档
python·django·毕业设计·计算机毕业论文·计算机毕业设计选题·软件工程毕业设计论文·文献管理系统
赖勇浩3 小时前
因浏览器未发送Referer HTTP头导致Django项目CSRF验证失败的原因
http·https·django·csrf
Marst Code16 小时前
(Django)初步使用
后端·python·django
向上的车轮16 小时前
Django学习笔记二:数据库操作详解
数据库·django
wxin_VXbishe19 小时前
springboot合肥师范学院实习实训管理系统-计算机毕业设计源码31290
java·spring boot·python·spring·servlet·django·php
mariokkm1 天前
Django一分钟:在Django中怎么存储树形结构的数据,DRF校验递归嵌套模型的替代方案
数据库·django·sqlite
向上的车轮1 天前
Django学习笔记五:templates使用详解
笔记·学习·django
向上的车轮1 天前
Django学习笔记十一:部署程序
笔记·学习·django
五味香2 天前
C++学习,信号处理
android·c语言·开发语言·c++·学习·算法·信号处理
暮毅2 天前
Django对接支付宝沙箱环境(2024年9月新测有效)
数据库·django