Webチャットアプリを作る ( Django + Channels )
Django と Channels を用いて、Webチャットアプリを作成する方法を解説します。
Django は、Pythonで実装されたWebアプリケーションフレームワークです。Django を利用するとWebアプリケーションを簡単に作成することができます。
Channelsは、DjangoでWebSocketの送受信を可能とするPythonパッケージです。Channelsを利用するとWebSocketを使用したWebアプリケーションを簡単に作成することができます。
使用開発環境は、以下です。
Python : version 3.8.6
Django : version 3.1.4
Channels : version 3.0.2
channels-redis : version 3.2.0
01. Djangoプロジェクトの作成 | |
Python の仮想環境を作成します。Python のパッケージをインストールします。Djangoプロジェクトを作成します。 |
02. チャットページの表示 | |
チャットページの表示をできるようにします。チャットメッセージの送受信はまだできません。 |
03. Channelsパッケージの有効化 | |
WebSocketの送受信を可能とするモジュールである Channelsパッケージを有効化します。 |
04. Redisの有効化 | |
Channelsのチャンネルレイヤーがバックストアとして使用するRedisを有効化します。 |
05. チャットメッセージの送受信 | |
チャットメッセージの送受信ができるようにします。 |
06. WebSocket Consumer の処理の非同期処理化 | |
パフォーマンスを向上させるために、WebSocket Consumerの処理を、同期ではなく非同期の処理に書き換えます。 |
07. メッセージに発言者名の追記 | |
メッセージに発言者名が追記されるようにします。 |
08. チャットルームに分かれてチャット | |
チャットルームに分かれてチャットができるようにします。 |
09. 入退室ユーザー名、参加人数の表示 | |
ユーザーの入室/退室に際して、入退室ユーザー名、参加人数が表示されるようにします。 デモ(Heroku):https://mychat-django.herokuapp.com/ |
参考
- Getting started with Django | Django
- Writing your first Django app, part 1 | Django documentation | Django
- Django Channels — Channels 3.0.2 documentation
- Tutorial — Channels 3.0.2 documentation