Este projeto está preguiçoso. Uma versão nova e aprimorada foi lançada:
https://github.com/bearle/django_private_chat2
Por favor, verifique.
Confira também nosso outro pacote https://github.com/bearle/django_mail_admin
Django One-to-One Websocket Basey Mandled Chat, desenvolvido pela Bearle Team

Este aplicativo usa o comando de gerenciamento separado, run_chat_server para executar o WebSockets no contexto do Django. Destina -se a ser usado com algo como supervisor ou Systemd para executar o Syncio WebServer como um separado do Django. Não queríamos que nosso aplicativo fosse limitado para ser usado em conjunto com os canais Django - foi por isso que fizemos dessa maneira.
Você pode encontrar um exemplo de configuração do Systemd para executá-lo como um serviço em https://github.com/bearle/django-private-chat/blob/dev/example.service
PS Não se esqueça de alterar chat_ws_server_host && chat_ws_server_port && chat_ws_server_protocol Configurações!
A documentação completa está (finalmente) em https://django-private-chat.readthedocs.io. Você também pode verificar os Docstrings e este ReadMe.
Você pode conferir nosso projeto de exemplo clonando o repositório e entrando no exemplo/ diretório. Há um arquivo de leitura para você verificar, os dados iniciais para verificar o bate -papo incluído.
Como personalizar o modelo? Basta copiar:
venv/lib/pythonx.x/site-packages/django_private_chat/modsates/django_private_chat/dialogs.html para YourApp/modelos/django_private_chat/dialogs.html
E fique à vontade para editá -lo como quiser! Intencionalmente, deixamos o código JS por dentro para que ele seja editável facilmente.
Instale Django-Private-Chat:
PIP Instale Django-Private-Chat
Migrar:
python gerencia.py migre django_private_chat
Nota: Você pode usar este pacote com ou sem UVLOOP, basta executar
python manage . py run_chat_serverou correr
python manage . py run_chat_server_uvloopAdicione -o ao seu Installed_Apps:
INSTALLED_APPS = (
...
'django_private_chat' ,
...
)Adicione o servidor e a porta do seu servidor Asyncio às configurações:
CHAT_WS_SERVER_HOST = 'localhost'
CHAT_WS_SERVER_PORT = 5002
CHAT_WS_SERVER_PROTOCOL = 'ws'É possível alterar as mensagens do formato DateTime usando
DATETIME_FORMATAdicione os padrões de URL da Django-Private-Chat:
from django_private_chat import urls as django_private_chat_urls
urlpatterns = [
...
url ( r'^' , include ( 'django_private_chat.urls' )),
...
]Adicionar
{ % block extra_js % }{ % endblock extra_js % }para o seu modelo base
Agora você pode iniciar uma caixa de diálogo usando
/Dialogs/some_existing_username
Para criar um servidor WSS (TLS):
python manage . py run_chat_server "path/to/cert.pem"(também funciona com UVLOOP). O arquivo "cert.pem" deve ser um arquivo PEM de texto simples contendo primeiro uma chave privada, depois um certificado (pode ser uma concatenação de um .Key e um arquivo .crt). Observe que o WSS usará o TLSV1 por padrão para Python 3.5 e 3.4 e usará SSL.protocol_TLS_Server para 3.6 e acima. Características --------
-: white_check_mark: usa o modelo de aplicativo atual (get_user_model () e Settings.auth_user_model)
-: white_check_mark: translatable (usa ugetText e { % trans %})
-: white_check_mark: bate-papo de usuário individual
-: white_check_mark: funciona usando websockets
-: white_check_mark: funciona (opcionalmente) usando conexões WSS (TLS) (isenção de responsabilidade - segurança não garantida)
-: white_check_mark: exibe status online/offline
-: white_check_mark: exibir status de digitação/não digitação
-: White_check_mark: Modelo de Mensagem Deletável Soft -Certifique -se de manter as mensagens para cumprir as leis de manutenção de mensagens
-: white_check_mark: Flash o botão de diálogo quando o usuário com quem você não está falando escreveu uma mensagem para você
-: Point_right: TODO: Adicione uma caixa de diálogo à lista quando o novo iniciar
-: Point_right: TODO: Adicionar alertas-não-acordados e outros
-: Point_right: Possível intergração de back -end do Redis
O código realmente funciona?
Fonte <YourVirtualEnv>/bin/ativação (myenv) $ pip install tox (myenv) $ tox
Ferramentas usadas na renderização deste pacote: