03. Channelsパッケージの有効化
WebSocketの送受信を可能とするモジュールである Channelsパッケージを有効化します。
解説
Channelsパッケージを有効化するために、すべきことは以下です。
- ChannelsパッケージをDjangoプロジェクトへ登録します。 ( settings.py )
- ルーティングに関する最低限のコードを追加します。 ( routing.py )
準備
02. を実施していない場合は、まず、02. を実施します。
仮想環境への切り替え
仮想環境に切り替えていない場合は、「MyChat」フォルダにて、下記コマンドを実行し、仮想環境に切り替えます。
「mysite」フォルダに移動していない場合は移動します。
これ以降のコマンドの実行は、仮想環境にて実行します。
Channelsパッケージのプロジェクトへの登録
ChannelsパッケージをDjangoプロジェクトへ登録します。
「mysite/mysite/settings.py」の「INSTALLED_APP」の先頭に、「'channels',」を追加します。
ルーティングに関する最低限のコードの追加
ルーティングに関する最低限のコードを追加します。
「mysite/mysite/asgi.py」に以下の変更を加えます。
- get_asgi_application()の代入先の変数名を「django_asgi_app」に変更します。 ( django_asgi_app = get_asgi_application() )
- ProtocolTypeRouterクラスのimport文を追加します。 ( from channels.routing import ProtocolTypeRouter )
- applicationの設定のコードとして、ProtocolTypeRouterクラスを用いたコードを記述します。 ( application = ProtocolTypeRouter( ・・・ ) )
「asgi.py」の内容を以下のようにします。
「mysite/mysite/settings.py」の最下部に、以下のコードを追加します。
動作確認
「mysite」フォルダにて、下記コマンドを実行し、サーバーを起動します。
サーバーが起動します。
下から2行目に、
「Starting ASGI/Channels version X.X.X development server at http://127.0.0.1:8000」
と表示されれば、Channelsパッケージが有効になっています。
起動したサーバーは、「Ctrl + C」で終了します。
ダウンロード
関連ページ
前項目:02. チャットページの表示
次項目:04. Redisの有効化