从外部脚本使用Djangoeventstream发送事件

2024-05-01 23:15:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始研究django_事件流,将数据推送到网页,而不是客户端轮询更新

我运行了django_eventstream的时间示例,没问题。然后,我将我的项目配置为使用事件(asgi.py、routing.py等),并使用我的应用程序的view.py将事件推送到网页上。至少在testserver模式下,这是有效的,所以所有配置似乎都正常

现在我想做的是在Django项目外部运行一个脚本,然后从那里发送事件,例如

import os
import django
from django_eventstream import send_event

os.environ['DJANGO_SETTINGS_MODULE'] = 'my_project.settings
django.setup()

# ...some script logic
send_event('my_channel', 'message', 'my_message_content')

这导致事件存储在项目的django_eventstream_事件数据库表中,但我从未看到它被推送到网页上。Wireshark显示其他web流量,但不显示外部生成的send_事件消息

我的问题是,在view.py中使用send_event()与在Django项目中不完整的另一个脚本中使用send_event()有什么不同?外部脚本确实要经过django_setup()配置过程

使用Python 3.7.3、Django 2.2.5、Django_事件流2.6.0


Tags: 项目djangopyimport脚本eventsendview