环境:win11 python3.9.2 django 4.2.11
背景:执行异步数据存储,想要使用该方法实现(失败了)
时间:20240410
说明:记录一下,避免忘记
1、创建django项目,并实现首页
# 创建项目
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、创建信号并实现执行
# 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]))
执行结果