Djang群聊

2024-10-04 11:35:00 发布

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

我正在尝试用Django频道创建群聊。下面你可以看到我的代码。在提交消息之后,什么都没有发生。也可以空登录。如何使代码工作?在

路由.py

channel_routing = [
    route('websocket.connect', ws_connect, path=r'^account/dashboard/projects/(?P<project_code>[0-9a-f-]+)/chat/$'),
    route("websocket.receive", ws_receive),
    route("websocket.disconnect", ws_disconnect),
]

消费者.py

^{pr2}$

模板

{% block content %}
    <h1>{{ room.code }}</h1>
    <div id="msgArea"></div>

    <div>
        <textarea name="message" id="message" cols="30" rows="10"></textarea>
    </div>

    <button id="btnSubmit">Submit</button>
{% endblock content %}

{% block script %}
    <script>
        $(document).ready(function(){
            var msgArea = $('#msgArea')
            var elementMessage = $('#message')
            var webSocket = new WebSocket('ws://' + window.location.host + '/account/dashboard/projects/(?P<{{ room.project_id }}>[0-9a-f-]+)/chat/');
            webSocket.onmessage = function(message) {
                var data = JSON.parse(message.data)
                msgArea.append('<p><strong>'+ data.username + '</strong>: ' + data.message + '</p>')
            }
            $('#btnSubmit').click(function(e) {
                webSocket.send(elementMessage.val())
            })
        })
    </script>
{% endblock script %}

Tags: 代码pydividmessagedatawsvar