Dieses Projekt ist veraltet. Eine neue und verbesserte Version wurde veröffentlicht:
https://github.com/bearle/django_private_chat2
Bitte überprüfen Sie es.
Bitte besuchen Sie auch unser weiteres Paket https://github.com/bearle/django_mail_admin
Django Eins-zu-Eins-auf WebSocket-basierter Asyncio-Handlungs-Chat, entwickelt von Bearle Team

Diese App verwendet separate Verwaltungsbefehle run_chat_server, um WebSockets im Django -Kontext auszuführen. Es soll mit so etwas wie Supervisor oder Systemd verwendet werden, um Asyncio -Webserver als separate von Django auszuführen. Wir wollten nicht, dass unsere App zusammen mit Django -Kanälen verwendet wird - deshalb haben wir das so gemacht.
Sie finden eine Beispiel-Systemd-Konfiguration, um sie als Dienst unter https://github.com/bearle/django-private-chat/blob/dev/example.service auszuführen
PS Vergessen Sie nicht, chat_ws_server_host && chat_ws_server_port && chat_ws_server_protocol Einstellungen zu ändern!
Die vollständige Dokumentation lautet (schließlich) unter https://django-private-chat.readthedocs.io. Sie können auch die Docstrings und diese Readme überprüfen.
Sie können unser Beispielprojekt überprüfen, indem Sie das Repo klonen und in Beispiel/ Verzeichnis auf dem Weg gehen. Es gibt eine ReadMe -Datei, in der Sie überprüft werden können. Erste Daten, um den Chat enthalten zu überprüfen.
Wie kann ich die Vorlage anpassen? Einfach kopieren:
venv/lib/pythonx.x/Site-Packages/django_private_chat/templates/django_private_chat/dialogs.html Zu yourApp/templates/django_private_chat/dialogs.html
Und zögern Sie nicht, es so zu bearbeiten, wie Sie möchten! Wir ließen den JS -Code absichtlich in sich, damit er leicht bearbeitbar war.
Installieren Sie Django-private-chat:
PIP Installieren Sie Django-private-Chat
Wandern:
python verwalten.py migrieren django_private_chat
Hinweis: Sie können dieses Paket mit oder ohne Uvloop verwenden.
python manage . py run_chat_serveroder rennen
python manage . py run_chat_server_uvloopFügen Sie es zu Ihren Installed_Apps hinzu:
INSTALLED_APPS = (
...
'django_private_chat' ,
...
)Fügen Sie den Server und den Port für Ihren Asyncio -Server zu Einstellungen hinzu:
CHAT_WS_SERVER_HOST = 'localhost'
CHAT_WS_SERVER_PORT = 5002
CHAT_WS_SERVER_PROTOCOL = 'ws'Es ist möglich, das Meldesformat mit dem Format "DateTime" zu ändern
DATETIME_FORMATFügen Sie die URL-Muster von Django-Private-Chat hinzu:
from django_private_chat import urls as django_private_chat_urls
urlpatterns = [
...
url ( r'^' , include ( 'django_private_chat.urls' )),
...
]Hinzufügen
{ % block extra_js % }{ % endblock extra_js % }zu Ihrer Basisvorlage
Jetzt können Sie einen Dialog mithilfe mithilfe von starten
/Dialoge/SONGEN_EXISTING_USERNAME
So erstellen Sie stattdessen einen WSS -Server (TLS) -Server:
python manage . py run_chat_server "path/to/cert.pem"(funktioniert auch mit Uvloop). Die "cert.pem" -Datei sollte eine Klartext -PEM -Datei sein, die zuerst einen privaten Schlüssel und dann eine Zertifikat (möglicherweise eine Verkettung von a .Key und eine .CRT -Datei) enthält. Bitte beachten Sie, dass WSS TLSV1 standardmäßig für Python 3.5 & 3.4 verwendet und ssl.protocol_tls_server für 3.6 und höher verwendet wird. Merkmale --------
-: White_Check_mark: Verwendet das aktuelle App -Modell (get_user_model () und setts.AUTH_USER_MODEL)
-: White_Check_mark: translatable (verwendet uGetText und { % Trans %})
-: White_Check_mark: Eins-zu-Eins-Benutzer-Chat
-: White_Check_mark: Funktioniert mit WebSockets
-: White_Check_mark: Works (optional) mit WSS (TLS) Verbindungen (Haftungsausschluss - Sicherheit nicht garantiert)
-: White_Check_mark: Zeigt online/Offline -Status an
-: White_Check_mark: Zeigen Sie das Tippen/Nicht -Typing -Status anzeigen
.
-: White_Check_mark: Flash den Dialogfeld, wenn der Benutzer, mit dem Sie derzeit nicht sprechen, eine Nachricht geschrieben hat
-: point_right: Todo: Fügen Sie der Liste einen Dialog hinzu
-: point_right: toDo: Benutzer nicht mehr und andere Warnungen hinzufügen
-: point_right: Mögliche Redis -Backend -Intergröße
Funktioniert der Code tatsächlich?
Quelle <OurVirtualenv>/bin/aktivieren (myenv) $ pip installt Tox (myenv) $ tox
Tools, die zum Rendern dieses Pakets verwendet werden: