-
(Django) channel을 통한 websocket사용 시 에러해결IT 지식 창고 2021. 6. 21. 18:47
TypeError: object.__init__() takes exactly one argument (the instance to initialize)
흔히 위와 같은 에러는 django뿐만 아니라 다른 경우에서도 발생되는데, django에서 발생되는 경우에는 이전 버전을 사용하는 경우에 발생합니다.
에러가 발생하는 부분은 django에서 channel을 통한 websocket사용을 위해 routing을 설정할 때입니다.
from test import consumers from django.urls import path # 아래의 경우 에러가 발생 websocket_urlpatterns = [ path('ws/test/graphs/', consumers.TestConsumer), ] # 아래와 같이 클래스 호출 시 제일 마지막 ()를 해줘야함 websocket_urlpatterns = [ path('ws/test/graphs/', consumers.TestConsumer()), ]
최근 버전에서는 consumer class호출 시 ()를 붙여야 하며, 이전 버전을 사용한 경우의 예제에서는 ()를 사용하지 않다보니 발생하는 에러이며, 이 부분은 channel document에서 예제에서는 ()를 붙여 사용하여 문제를 해결할 수 있었습니다.
'IT 지식 창고' 카테고리의 다른 글
[kafka] apt-get install zookeeper할 때, zookeeper 설치된 경로 (0) 2021.11.05 (신경망) EfficientNet B0~B7 input size & ouput size (0) 2021.07.06 (Anaconda) 아나콘다 가상환경 경로가 다른 경우 (0) 2021.06.21 (pytorch) window에 fairseq 설치방법 (0) 2021.02.19 (선형대수학) 고유값분해 이해를 위해 잘 작성된 게시글 링크 (0) 2021.02.09 댓글