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

执行结果

相关推荐
不知更鸟6 小时前
前端报错:快速解决Django接口404问题
前端·python·django
4***72136 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
c***42106 小时前
Django视图与URLs路由详解
数据库·django·sqlite
无心水10 小时前
【Python实战进阶】1、Python高手养成指南:四阶段突破法从入门到架构师
开发语言·python·django·matplotlib·gil·python实战进阶·python工程化实战进阶
a***131413 小时前
vscode配置django环境并创建django项目(全图文操作)
vscode·django·sqlite
星空的资源小屋17 小时前
VNote:程序员必备Markdown笔记神器
javascript·人工智能·笔记·django
工业互联网专业20 小时前
图片推荐系统_django+spider
python·django·毕业设计·源码·课程设计·spider·图片推荐系统
空影星2 天前
高效追踪电脑使用时间,Tockler助你优化时间管理
python·django·flask
徒慕风流2 天前
GeoSight:基于 Open3D 与 PySide6 的参数化 3D 模型处理与实时点云监控工具
计算机视觉·3d·信号处理
q***42052 天前
使用Django Rest Framework构建API
数据库·django·sqlite