Python 如何连接redis和django项目?
由于我是新的渠道和redis,我无法解决这个问题。问题是当我试着测试redis是否工作时?它通过了测试。但是当我运行项目时,我无法看到索引页。我已经在下面详细解释了这个问题。有人帮帮我。提前谢谢 已安装的软件包 python 3.4 django 1.10 redis 2.10 渠道 插座 当我测试redis时,它运行良好。附上下面的截图 当我运行该项目时,我在终端中收到以下错误消息。附上下面的截图 我在下面附上了我的代码块 routing.py 设置.py 消费者.py index.htmlPython 如何连接redis和django项目?,python,django,redis,django-channels,Python,Django,Redis,Django Channels,由于我是新的渠道和redis,我无法解决这个问题。问题是当我试着测试redis是否工作时?它通过了测试。但是当我运行项目时,我无法看到索引页。我已经在下面详细解释了这个问题。有人帮帮我。提前谢谢 已安装的软件包 python 3.4 django 1.10 redis 2.10 渠道 插座 当我测试redis时,它运行良好。附上下面的截图 当我运行该项目时,我在终端中收到以下错误消息。附上下面的截图 我在下面附上了我的代码块 routing.py 设置.py 消费者.py index.htm
…一些代码。。。。
var socket=newwebsocket('ws://'+window.location.host+'/users/');
socket.onopen=函数打开(){
log('WebSockets连接已创建');
};
socket.onmessage=函数消息(事件){
var data=JSON.parse(event.data);
var username=encodeURI(数据['username']);
var user=$('li').filter(函数(){
返回$(this).data('username')==用户名;
});
如果(数据['已登录]]{
html(用户名+':Online');
}
否则{
html(用户名+':Offline');
}
};
if(socket.readyState==WebSocket.OPEN){
socket.onopen();
}
......
请在代码块
格式中包含错误回溯
。我已经以(python manage.py runserver 8000[屏幕截图]的名义附上了回溯错误的屏幕截图。请检查屏幕截图
from channels.routing import route
from chat_room.consumers import ws_connect, ws_disconnect
channel_routing = [
route('websocket.connect', ws_connect),
route('websocket.disconnect', ws_disconnect),
]
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'channels',
'chat_room',
]
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'asgi_redis.RedisChannelLayer',
'CONFIG': {
'hosts': [('localhost', 6379)],
},
'ROUTING': 'chat_application.routing.channel_routing',
}
}
from channels import Group
def ws_connect(message):
Group('users').add(message.reply_channel)
def ws_disconnect(message):
Group('users').discard(message.reply_channel)
....some code....
<script>
var socket = new WebSocket('ws://' + window.location.host + '/users/');
socket.onopen = function open() {
console.log('WebSockets connection created.');
};
socket.onmessage = function message(event) {
var data = JSON.parse(event.data);
var username = encodeURI(data['username']);
var user = $('li').filter(function () {
return $(this).data('username') == username;
});
if (data['is_logged_in']) {
user.html(username + ': Online');
}
else {
user.html(username + ': Offline');
}
};
if (socket.readyState == WebSocket.OPEN) {
socket.onopen();
}
</script>
......