Ce projet est obsolète. Une nouvelle version améliorée a été publiée:
https://github.com/bearle/django_private_chat2
Veuillez le vérifier.
Veuillez également consulter notre autre package https://github.com/bearle/django_mail_admin
DJANGO CHAT DJANGO ASYNCIO ASYNCIO, développé par Bearle Team

Cette application utilise une commande de gestion séparée, run_chat_server pour exécuter les Websockets dans le contexte de Django. Il est destiné à être utilisé avec quelque chose comme Superviseur ou SystemD pour exécuter Asyncio Webserver en tant que séparé de Django. Nous ne voulions pas que notre application soit limitée pour être utilisée avec les canaux Django - c'est pourquoi nous l'avons fait de cette façon.
Vous pouvez trouver un exemple de configuration systemd pour l'exécuter en tant que service à https://github.com/bearle/django-private-chat/blob/dev/example.service
PS n'oubliez pas de modifier le chat_ws_server_host && chat_ws_server_port && paramètres de chat_ws_server_protocol!
La documentation complète est (enfin) sur https://django-private-chat.readthedocs.io. Vous pouvez également consulter les docstrings et cette lecture.
Vous pouvez consulter notre exemple de projet en clonage le repo et en vous dirigeant vers l'exemple / répertoire. Il y a un fichier ReadMe à vérifier, les données initiales pour consulter le chat inclus.
Comment personnaliser le modèle? Il suffit de copier:
Venv / lib / pythonx.x / site-packages / django_private_chat / modèles / django_private_chat / dialogs.html à YourApp / Templates / Django_Private_Chat / Dialogs.html
Et n'hésitez pas à le modifier comme vous le souhaitez! Nous avons intentionnellement laissé le code JS à l'intérieur pour qu'il soit facilement modifiable.
Installer Django-Private-Chat:
pip install django-privé de chat
Émigrer:
python manage.py migrer django_private_chat
Remarque: vous pouvez utiliser ce package avec ou sans uvloop, il suffit d'exécuter
python manage . py run_chat_serverou courir
python manage . py run_chat_server_uvloopAjoutez-le à votre installé_apps:
INSTALLED_APPS = (
...
'django_private_chat' ,
...
)Ajoutez le serveur et le port pour votre serveur Asyncio aux paramètres:
CHAT_WS_SERVER_HOST = 'localhost'
CHAT_WS_SERVER_PORT = 5002
CHAT_WS_SERVER_PROTOCOL = 'ws'Il est possible de modifier le format DateTime Messages en utilisant
DATETIME_FORMATAjouter les modèles d'URL de Django-Private-Chat:
from django_private_chat import urls as django_private_chat_urls
urlpatterns = [
...
url ( r'^' , include ( 'django_private_chat.urls' )),
...
]Ajouter
{ % block extra_js % }{ % endblock extra_js % }à votre modèle de base
Vous pouvez maintenant démarrer une boîte de dialogue en utilisant
/ Dialogues / Some_existing_Username
Pour créer un serveur WSS (TLS) à la place:
python manage . py run_chat_server "path/to/cert.pem"(fonctionne également avec Uvloop). Le fichier "Cert.pem" doit être un fichier PEM en texte clair contenant d'abord une clé privée, puis un certificat (peut être une concaténation d'un fichier .key et d'un fichier .crt). Veuillez noter que WSS utilisera TLSV1 par défaut pour Python 3.5 & 3.4 et utilisera SSL.Protocol_TLS_Server pour 3,6 et plus. Caractéristiques --------
-: white_check_mark: utilise le modèle actuel de l'application (get_user_model () et settings.auth_user_model)
-: white_check_mark: translateable (utilise ugetText et {% trans%})
-: white_check_mark: chat utilisateur individuel
-: white_check_mark: fonctionne à l'aide de WebSockets
-: white_check_mark: fonctionne (éventuellement) en utilisant les connexions WSS (TLS) (avertissement - sécurité non garantie)
-: white_check_mark: affiche le statut en ligne / hors ligne
-: white_check_mark: afficher le typage / ne pas taper l'état
-: white_check_mark: modèle de message supprimé en douce
-: white_check_mark: flasher le bouton de dialogue lorsque l'utilisateur à qui vous ne parlez pas actuellement vous a écrit un message
-: Point_right: TODO: Ajoutez une boîte de dialogue à la liste lorsque le nouveau a commencé
-: Point_Right: TODO: Ajouter un utilisateur-non-fond et d'autres alertes
-: Point_Right: Intergration redis possible redis
Le code fonctionne-t-il réellement?
Source <yourVirtualEnv> / bin / activer (myenv) $ pip install tox (myenv) $ tox
Outils utilisés pour rendre ce package: