작성
·
409
0
분명 로컬에서는 잘 되는데
외부 서버에서 돌려보면 채팅방을 누르면 밖으로 팅깁니다.(index 페이지로)
터미널을 보면
File "/home/chanjin613/.local/lib/python3.9/site-packages/asgiref/sync.py", line 490, in thread_handler
return func(*args, **kwargs)
File "/home/chanjin613/.local/lib/python3.9/site-packages/channels/consumer.py", line 125, in dispatch
handler(message)
File "/home/chanjin613/.local/lib/python3.9/site-packages/channels/generic/websocket.py", line 38, in websocket_connect
self.connect()
File "/home/chanjin613/mydjangochat/chat/consumers.py", line 33, in connect
async_to_sync(self.channel_layer.group_add)(
AttributeError: 'NoneType' object has no attribute 'group_add'
엄청 긴데 맨 마지막 부분을 가져왔습니다. 아니, 왜 로컬에서는 잘 되는데 웹 서버에서 돌리면 이럴까요?
답변 1
0
마지막 오류를 보시면, self.channel_layer 속성값이 None이라서 발생하는 오류입니다.
이는 settings내에 CHANNEL_LAYERS 설정값이 redis로 유효하게 설정되어있어야 합니다. 그래야만 consumer 내에서 self.channel_layer 속성값을 설정해줍니다.
내부와 외부의 코드가 같은데, 다르게 동작한다면 설정상의 이슈일 것입니다. 레디스 서버 동작을 확인해보시고, settings 내 CHANNEL_LAYERS 설정도 확인해보세요.
화이팅입니다. :-)