바뀜

1,299 바이트 추가됨 ,  2022년 10월 4일 (화) 09:13
편집 요약 없음
7번째 줄: 7번째 줄:     
ASGI는 비동기 요청인 웹 소켓을 처리하는 이벤트로 connect, send, receive, disconnect가 있다.
 
ASGI는 비동기 요청인 웹 소켓을 처리하는 이벤트로 connect, send, receive, disconnect가 있다.
 +
 +
 +
===패키지 설치===
 +
{| class="wikitable"
 +
!과정
 +
!설명
 +
!방법
 +
|-
 +
|패키지 설치
 +
|Channels 패키지를 설치한다.
 +
|pip install -U channels
 +
|-
 +
|앱 등록
 +
|settings.py에 추가.
 +
channels는 runserver 명령을 제어하여 기존 서버를 대체한다.
 +
|INSTALLED_APPS 하위, 가장 처음에 <code>'channels'</code>넣는다.<syntaxhighlight lang="python">
 +
INSTALLED_APPS = [
 +
    'channels',  # 다른 서드파티 앱과 충돌할 수 있어 가장 처음에 둔다.
 +
    ...  # 공식 튜토리얼에선 'chat'을 상위로 올리지만, 아래에 있어도 상관 없다.
 +
    ...
 +
    'chat',
 +
</syntaxhighlight>
 +
|-
 +
|라우팅 설정 작성
 +
|가장 상위의 디렉터리에 routing.py를 다음과 같이 작성한다.
 +
(취향에 따라 달리 작성해도 된다.)
 +
|<syntaxhighlight lang="python">
 +
from channels.routing import ProtocolTypeRouter
 +
 +
application = ProtocolTypeRouter({
 +
    # (http->django views is added by default)
 +
})
 +
</syntaxhighlight>
 +
|-
 +
|설정 추가
 +
|settings.py 안에 우측의 내용을 추가한다.
 +
라우팅파일의 위치만 잘 잡아주면 된다.
 +
|<syntaxhighlight lang="python">
 +
ASGI_APPLICATION = 'routing.application'  # routing.py 파일의 application을 불러온다.
 +
</syntaxhighlight>(라우팅 파일 안의 application을 가져온다.)
 +
|}
 
[[분류:장고 웹소켓]]
 
[[분류:장고 웹소켓]]