我正在尝试使用Django项目中的渠道来实现websocket。我正在为webscoketbridge.js获取404以下是html模板。
{% load staticfiles %}
{% block title %}
交付{% 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的文件
有人解决了这个问题吗?
答案 0 :(得分:2)
javascript桥已在v2.1.4中删除。这是提交:https://github.com/django/channels/commit/2a9d764ad03927581aa2bfcadccc3e953949cb98#diff-b582cbb2f8294afa8bbe26c4c360a01d
这在我的书中打破了语义版本控制。
答案 1 :(得分:0)
正如@tobyspark所说的,django-channels 2中的javascript包装器已被完全删除。您可以阅读有关js websocket包装器如何在通道1 here中工作的更多信息。
清除浏览器错误的最简单的解决方法是在错误所示的路径“ static / channels / js /”中创建一个名为websocketbridge.js的文件,也可以在HTML src属性匹配中指定任何其他路径静态文件的位置,然后添加来自here的代码。
但是您必须找到更好的实现。您可以使用ReconnectingWebSocket。在channel 2发行文档中,声明可能还有其他第三方软件包用于绑定,但是我不知道其他任何软件包。