javascript - django channel 不工作 它是如何工作的 我已阅读文档

标签 javascript python django django-models websocket

我尝试使用 channel 但不起作用 这是consumer.py

def ws_connect(message, cat_id):
    try:
        cat = Categories.objects.get(pk=cat_id)
    except Categories.DoesNotExist:
        pass
    Group('cat-1').add(message.reply_channel)


def ws_diconnect(message, cat_id):
    try:
        cat = Categories.objects.get(pk=cat_id)

    except Categories.DoesNotExist:
        pass
    Group('cat-1').discard(message.reply_channel)

这是routing.py:

channel_routing = [
    route('websocket.receive', ws_connect, path=r'^/liveupdate/(?P<cat_id>\d+)/'),
    route("websocket.disconnect", ws_diconnect, path=r'^/liveupdate/(?P<cat_id>\d+)/'),
]

这是信号.py:

@receiver(post_save, sender=Tender)
def send_update(sender, instance, created, raw, using, **kwargs):
    print '>>>>>>>>>>>>>>>>>>>>>>>>>>>>', instance, '2', raw, '3', using, '4', kwargs
    data = json.dumps(
        {'ministry': 'hisham',})
    Group('cat-1').send({'tender': data,})
    print 'Done'

这里是 JavaScript :

<script type="application/javascript">
    var ws_scheme = window.location.protocol == "https:" ? "wss" : "ws";
    alert(ws_scheme +"://" + window.location.host + "/liveupdate/1/");
    var socket = new WebSocket(ws_scheme +"://" + window.location.host + "/liveupdate/1/");
    socket.onmessage = function(e) {
    alert(e.data);
};
    socket.onopen = function() {
        console.log("Connected to  socket");
    };
    socket.onclose = function() { console.log("Disconnected to  socket"); }

</script>

当我试图保存招标信号火但浏览器中没有任何内容时 即没有数据警报 我的代码有什么问题 任何想法

这是我的文件夹: enter image description here

最佳答案

使用websocket.connect代替websocket.receive。当客户端向服务器发送数据时使用接收。

route('websocket.connect', ws_connect, path=r'^/liveupdate/(?P<cat_id>\d+)/'),

何时使用文本作为 key 发送数据而不是投标。

Group('cat-1').send({'text': data,})

关于javascript - django channel 不工作 它是如何工作的 我已阅读文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37872611/

相关文章:

javascript - Angularjs ui bootstrap 模式将信息共享到同一 Controller

python - 需要帮助思考在 Python 中以整数除法拆分列表

mysql - Django 数据库设置错误

python - Django 在速记渲染方法中添加自定义 header

java - 从 Java 与 Django/Celery 互操作

javascript - Propublica API json 数据到 Google 表格

Javascript 全局变量在不应该更新的时候更新

javascript - 部分 jQuery 未执行

python - Django Rest Framework 指定电子邮件必须是唯一的

python - 如何在 Python 中生成指数增长的范围