【问题标题】:How to locate websocketbridge.js in Django using channels websocket?如何使用通道 websocket 在 Django 中定位 websocketbridge.js?
【发布时间】:2019-04-27 08:58:37
【问题描述】:

我正在尝试在 Django 项目中使用通道来实现 websocket。我为 webscoketbridge.js 得到 404 下面是 html 模板。 {% load staticfiles %} {% block title %}Delivery{% endblock %}

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<link href='https://fonts.googleapis.com/css?family=Satisfy' rel='stylesheet' type='text/css'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="{% static 'channels/js/websocketbridge.js' %}" type="text/javascript"></script>

另外,我尝试查看 virtualenv/lib/python3.5/site-packages/channels 路径,没有 js 文件夹或任何名为 websocketbridge.js 的文件

有人解决了这个问题吗?

【问题讨论】:

  • 请有人帮忙解决这个问题...我不知道:/

标签: django python-3.x websocket redis channels


【解决方案1】:

在 v2.1.4 中删除了 javascript 桥。这是提交:https://github.com/django/channels/commit/2a9d764ad03927581aa2bfcadccc3e953949cb98#diff-b582cbb2f8294afa8bbe26c4c360a01d

这在我的书中打破了语义版本控制。

【讨论】:

    【解决方案2】:

    正如@tobyspark 所说,javascript 包装器已在 django-channels 2 中完全删除。您可以阅读更多关于 js websocket 包装器如何在频道 1 here 中工作的信息。

    在浏览器中清除该错误的最简单解决方法是在错误中显示的路径“static/channels/js/”中创建一个名为 websocketbridge.js 的文件,或者您可以在 HTML src 属性匹配中指定任何其他路径静态文件的位置,然后添加来自here 的代码。

    但是你必须找到一个更好的实现。您可以使用 ReconnectingWebSocket。在通道 2 发布文档中,声明可能有其他第三方包用于绑定,但我不知道其他任何包。

    【讨论】:

    • 感谢您的信息。我一定会对此进行检查
    猜你喜欢
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 2020-05-07
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    相关资源
    最近更新 更多