2016-09-04 3 views
0

У меня есть следующий код: потребительскогоне @channel_session_user_from_http работает на Heroku, работающим на местном уровне

@channel_session_user_from_http 
def ws_connect(message): 
    if not message.user.is_anonymous: 
     print "WS: Connect: Adding channel %s to group for user %i" % (message.reply_channel, message.user.id) 
     group_for_user(message.user).add(message.reply_channel) 
    else: 
     print "WS: Connect: Warning: Ignoring anonymous user." 

Как вы можете видеть, это не делает много, кроме печати сообщений, чтобы увидеть, является ли anoymous пользователя подключения или не. На стороне клиента, я подключения, как:

var ws_scheme = window.location.protocol == "https:" ? "wss" : "ws"; 
var chat_socket = new ReconnectingWebSocket(ws_scheme + '://' + window.location.host + "/?session_key=" + document.getElementById('internal-data').dataset.sessionKey); 

Я просто пытаюсь получить сервер, чтобы идентифицировать пользователя, которая создает WebSocket. Это работает отлично нормально локально (то есть на напечатанном сообщении журнала отображается, что пользователь был распознан правильно), когда я запускаю сервер как daphne mysite.asgi:channel_layer --port 8888 -v2, а рабочий - manage.py runworker -v2.

Однако, когда я запускаю точно такой же код на Heroku, независимо от того, что я пытаюсь, он всегда считает, что пользователь анонимен. Любые идеи для того, что происходит или как отладить эту проблему?

ответ

0

Понял ... Я использовал Django 1.9.x на Heroku. После его изменения до 1.10 он работает.