該項目被棄用。已發布了一個新的和改進的版本:
https://github.com/bearle/django_private_chat2
請檢查一下。
請還請查看我們的另一個軟件包https://github.com/bearle/django_mail_admin
由Bearle Team開發

該應用程序使用單獨的管理命令,run_chat_server在Django上下文中運行Websocket。它旨在與主管或SystemD之類的東西一起使用,以將Asyncio Web服務器作為與Django單獨的一個。我們不希望我們的應用程序被限制與Django頻道一起使用 - 這就是為什麼我們這樣做的原因。
您可以在https://github.com/bearle/django-private-chat/blob/dev/example.service.service上找到一個示例Systemd Config以作為服務運行的示例
PS不要忘記更改CHAT_WS_SERVER_HOST && chat_ws_server_port && gat_ws_server_protocol設置!
完整的文檔(最後)在https://django-private-chat.readthedocs.io上。您還可以檢查Docstrings&This Readme。
您可以通過克隆回購併進入示例/目錄來查看我們的示例項目。有一個供您檢查的讀數文件,可以檢查的初始數據以查看所包括的聊天。
如何自定義模板?只需複制:
venv/lib/pythonx.x/site-packages/django_private_chat/demplates/django_private_chat/dialogs.html 到 yourapp/templates/django_private_chat/dialogs.html
並隨意按照您的要求進行編輯!我們故意將JS代碼留在其中,以便容易編輯。
安裝django-Provate-chat:
PIP安裝Django-Provate-Chat
遷移:
python manage.py遷移django_private_chat
注意:您可以使用或不使用Uvloop使用此軟件包,只需運行即可
python manage . py run_chat_server或運行
python manage . py run_chat_server_uvloop將其添加到您的已安裝_Apps:
INSTALLED_APPS = (
...
'django_private_chat' ,
...
)將ASYNCIO服務器的服務器和端口添加到設置:
CHAT_WS_SERVER_HOST = 'localhost'
CHAT_WS_SERVER_PORT = 5002
CHAT_WS_SERVER_PROTOCOL = 'ws'可以使用
DATETIME_FORMAT添加Django-Provate-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文件,其中首先包含一個私鑰,然後是證書(可能是.key和.crt文件的串聯)。請注意,WSS將使用Python 3.5和3.4的TLSV1使用TLSV1,並將使用3.6及以上的SSL.Protocol_tls_server使用SSL.Protocol_tls_server。特徵 - - - -
- :white_check_mark:使用當前應用模型(get_user_model()和settings.auth_user_model)
- :white_check_mark:translatable(使用ugetText和{%trans%})
- :white_check_mark:一對一的用戶聊天
- :white_check_mark:使用WebSockets工作
- :White_check_mark:使用WSS(TLS)連接(免責聲明 - 不保證安全)
- :white_check_mark:在線/離線狀態顯示
- :white_check_mark:顯示打字/不打字狀態
- :white_check_mark:軟可刪除的消息模型 - 確保保留消息以遵守留言法律
- :white_check_mark:當您當前不與您交談的用戶時,閃爍對話框按鈕給您寫消息
- :point_right:todo:新啟動時添加一個對話框
- :point_right:todo:添加用戶 - 毫無根據和其他警報
- :point_right:可能的重新降低後端互動
代碼實際上有效嗎?
源<Rourvirtualenv>/bin/activate (myenv)$ pip安裝托克斯 (myenv)$ tox
用於渲染此軟件包的工具: