このプロジェクトは非推奨です。新しい改良バージョンがリリースされました:
https://github.com/bearle/django_private_chat2
チェックしてください。
また、別のパッケージhttps://github.com/bearle/django_mail_adminもご覧ください
Bearle Teamが開発したDjango 1対1のWebsocketベースのAsyncioハンドルチャット

このアプリは、DjangoコンテキストでWebSocketを実行するために、個別の管理コマンドであるRUN_CHAT_SERVERを使用します。監督者やSystemDのようなものと一緒に使用して、Asyncio WebサーバーをDjangoとは別のものとして実行することを目的としています。私たちは、アプリをDjangoチャンネルと一緒に使用することを制限することを望んでいませんでした。そのため、そのようにしました。
https://github.com/bearle/django-private-chat/blob/dev/example.serviceでサービスとして実行するSystemD構成の例を見つけることができます
PS chat_ws_server_host && chat_ws_server_port && chat_ws_server_protocolの設定を変更することを忘れないでください!
完全なドキュメントは、(最終的に)https://django-private-chat.readthedocs.ioにあります。 DocstringsとこのReadmeを確認することもできます。
リポジトリをクローン化して、例/ディレクトリに移動することにより、このプロジェクトを確認できます。チェックするためのReadMeファイル、最初のデータが含まれているチャットをチェックします。
テンプレートをカスタマイズする方法は?ただコピー:
venv/lib/pythonx.x/site-packages/django_private_chat/templates/django_private_chat/dialogs.html に YourApp/templates/django_private_chat/dialogs.html
好きなように編集してください! JSコードを内部に任せて、簡単に編集できるようにしました。
django-private-chatをインストールします:
ピップインストールdjango-private-chat
移行:
python manage.py移行django_private_chat
注:このパッケージをUVLoopの有無にかかわらず使用できます。どちらも実行できます。
python manage . py run_chat_serverまたは実行します
python manage . py run_chat_server_uvloopinstalled_appsに追加します:
INSTALLED_APPS = (
...
'django_private_chat' ,
...
)Asyncioサーバーのサーバーとポートを設定に追加します。
CHAT_WS_SERVER_HOST = 'localhost'
CHAT_WS_SERVER_PORT = 5002
CHAT_WS_SERVER_PROTOCOL = 'ws'メッセージを使用してメッセージを変更することができます
DATETIME_FORMATDjango-Private-ChatのURLパターンを追加します。
from django_private_chat import urls as django_private_chat_urls
urlpatterns = [
...
url ( r'^' , include ( 'django_private_chat.urls' )),
...
]追加
{ % block extra_js % }{ % endblock extra_js % }ベーステンプレートに
これで、使用を使用してダイアログを開始できます
/ダイアログ/some_existing_username
代わりにWSS(TLS)サーバーを作成するには:
python manage . py run_chat_server "path/to/cert.pem"(UVloopでも動作します)。 「CERT.PEM」ファイルは、最初に秘密鍵を含むプレーンテキストPEMファイルである必要があります(次に証明書)。 WSSは、Python 3.5および3.4にデフォルトでTLSV1を使用し、3.6以降でssl.protocol_tls_serverを使用することに注意してください。特徴 - - - -
- :white_check_mark:現在のアプリモデル(get_user_model()とsettings.auth_user_modelを使用します)
- :white_check_mark:翻訳可能(ugettextと{%trans%}を使用)
- :white_check_mark:1対1のユーザーチャット
- :white_check_mark:websocketsを使用して動作します
- :white_check_mark:wss(tls)connections(免責事項 - セキュリティが保証されていない)を使用して(オプションで)動作します
- :white_check_mark:オンライン/オフラインステータスを表示します
- :white_check_mark:タイピング/型付けステータスを表示します
- :white_check_mark:ソフト削除可能なメッセージモデル - メッセージキーピング法に準拠するためにメッセージを必ず保管してください
- :white_check_mark:ダイアログボタンをフラッシュしているユーザーが現在話しているときにメッセージを書きました
- :point_right:todo:新しいものが始まったときにリストにダイアログを追加する
- :Point_right:todo:ユーザーの根が飾られていない、その他のアラートを追加します
- :Point_right:可能なRedisバックエンドの干渉
コードは実際に機能しますか?
ソース<yourvirtualenv>/bin/activate (myenv)$ pipインストールtox (myenv)$ tox
このパッケージのレンダリングに使用されるツール: