该项目被弃用。已发布了一个新的和改进的版本:
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
用于渲染此软件包的工具: