Este proyecto está en desuso. Se ha lanzado una versión nueva y mejorada:
https://github.com/bearle/django_private_chat2
Por favor, échale un vistazo.
Consulte también nuestro otro paquete https://github.com/bearle/django_mail_admin
Django Chat con mango de asyncio basado en WebSocket, desarrollado por Bearle Team

Esta aplicación utiliza el comando de administración separado, run_chat_server para ejecutar WebSockets en el contexto Django. Está destinado a usarse con algo como Supervisor o Systemd para ejecutar Asyncio Webserver como uno separado de Django. No queríamos que nuestra aplicación se limitara para usarse junto con los canales Django, por eso lo hicimos de esa manera.
Puede encontrar un ejemplo de configuración SystemD para ejecutarlo como un servicio en https://github.com/bearle/django-private-chat/blob/dev/example.service
PD: ¡No olvide cambiar chat_ws_server_host && chat_ws_server_port && chat_ws_server_protocol Configuración!
La documentación completa es (finalmente) en https://django-private-chat.readthedocs.io. También puede consultar las documentos y este readme.
Puede consultar nuestro proyecto de ejemplo clonando el repositorio y dirigiéndose al ejemplo/ directorio. Hay un archivo ReadMe para que comprobará los datos iniciales para verificar el chat incluido.
¿Cómo personalizar la plantilla? Solo copia:
venv/lib/pythonx.x/site-packages/django_private_chat/plantlates/django_private_chat/dialogs.html a YourApp/Templates/django_private_chat/dialogs.html
¡Y no dudes en editarlo como quieras! Dejamos intencionalmente el código JS adentro para que sea editable fácilmente.
Instalar django-private-chat:
PIP Instale Django-Private-Chat
Emigrar:
Python Manage.py migra django_private_chat
Nota: puede usar este paquete con o sin Uvloop, simplemente ejecute
python manage . py run_chat_servero correr
python manage . py run_chat_server_uvloopAgréguelo a su instalado_apps:
INSTALLED_APPS = (
...
'django_private_chat' ,
...
)Agregue el servidor y el puerto para su servidor Asyncio a la configuración:
CHAT_WS_SERVER_HOST = 'localhost'
CHAT_WS_SERVER_PORT = 5002
CHAT_WS_SERVER_PROTOCOL = 'ws'Es posible cambiar los mensajes del formato de fecha y hora utilizando
DATETIME_FORMATAgregue los patrones de URL de Django-Private-Chat:
from django_private_chat import urls as django_private_chat_urls
urlpatterns = [
...
url ( r'^' , include ( 'django_private_chat.urls' )),
...
]Agregar
{ % block extra_js % }{ % endblock extra_js % }a tu plantilla base
Ahora puede iniciar un diálogo usando
/diálogo/some_existing_username
Para crear un servidor WSS (TLS) en su lugar:
python manage . py run_chat_server "path/to/cert.pem"(También funciona con Uvloop). El archivo "cert.pem" debe ser un archivo PEM de texto sin formato que contenga primero una clave privada, luego un certificado (puede ser una concatenación de un archivo .key y un archivo .crt). Tenga en cuenta que WSS usará TLSV1 de forma predeterminada para Python 3.5 y 3.4 y usará SSL.Protocol_TLS_Server para 3.6 y superior. Características --------
-: white_check_mark: usa el modelo de aplicación actual (get_user_model () y settings.auth_user_model)
-: white_check_mark: Translatable (usa Ugettext y { % trans %})
-: white_check_mark: chat de usuario uno a uno
-: white_check_mark: funciona usando WebSockets
-: white_check_mark: funciona (opcionalmente) usando conexiones WSS (TLS) (descargo de responsabilidad - seguridad no garantizada)
-: white_check_mark: muestra el estado en línea/fuera de línea
-: white_check_mark: mostrar el estado de escritura/no escribir
-: white_check_mark: modelo de mensajes deletables suaves -Asegúrese de mantener mensajes para cumplir con las leyes de mantenimiento de mensajes
-: white_check_mark: flash el botón de diálogo cuando el usuario con el que no está hablando actualmente le escribió un mensaje
-: Point_right: TODO: Agregue un diálogo a la lista cuando se inició una nueva
-: Point_right: TODO: Agregar al usuario no-found y otras alertas
-: Point_right: posible intergración de backend redis
¿El código realmente funciona?
Fuente <YourVirtualEnv>/bin/activar (myenv) $ pip install tox (myenv) $ tox
Herramientas utilizadas para representar este paquete: