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

执行结果

相关推荐
小白勇闯网安圈4 小时前
Django Form 组件详解:从表单生成到 ModelForm 数据校验
数据库·django·sqlite
言乐64 小时前
Python实现随机抽人回答问题
开发语言·python·django·virtualenv·pygame
weixin_BYSJ19875 小时前
springboot技能与工具共享小程序---附源码29657
java·javascript·spring boot·python·小程序·django·php
weixin_BYSJ19875 小时前
flask民族服饰饰品商城小程序---附源码37399
java·javascript·spring boot·python·小程序·django·php
En^_^Joy18 小时前
Django项目配置全攻略:settings配置文件
后端·python·django
FPGA-ADDA21 小时前
雷通微系统推出RTSD2605:RFSoC + 英伟达GPU一体化信号处理平台
信号处理·fpga·rfsoc·zu47dr·47dr
小白勇闯网安圈1 天前
Django Ajax、批量操作与分页实践
python·django
言乐62 天前
Python游戏水平测试辅助系统2
开发语言·windows·python·游戏·django
vx-程序开发2 天前
springboot旅游推介平台---附源码24175
java·spring boot·python·spring cloud·eclipse·django·idea
言乐62 天前
Python游戏水平测试辅助系统
开发语言·python·游戏·django·pygame