Proyek ini sudah usang. Versi baru dan lebih baik telah dirilis:
https://github.com/bearle/django_private_chat2
Silakan periksa.
Silakan juga periksa paket lain kami https://github.com/bearle/django_mail_admin
Django One-to-One Asyncio-Handled Chat Berbasis Websocket, Dikembangkan oleh Bearle Team

Aplikasi ini menggunakan perintah manajemen terpisah, run_chat_server untuk menjalankan websockets dalam konteks django. Ini dimaksudkan untuk digunakan dengan sesuatu seperti pengawas atau systemd untuk menjalankan server web asyncio sebagai yang terpisah dari django. Kami tidak ingin aplikasi kami dibatasi untuk digunakan bersama dengan saluran Django - itu sebabnya kami melakukannya dengan cara itu.
Anda dapat menemukan contoh konfigurasi SystemD untuk menjalankannya sebagai layanan di https://github.com/bearle/django-ptivate-ocat/blob/dev/example.service
PS Jangan lupa untuk mengubah chat_ws_server_host && chat_ws_server_port && chat_ws_server_protocol Pengaturan!
Dokumentasi lengkapnya adalah (akhirnya) di https://django-private-cat.readthedocs.io. Anda juga dapat memeriksa Docstrings & ReadMe ini.
Anda dapat memeriksa contoh proyek kami dengan mengkloning repo dan menuju ke contoh/ direktori. Ada file readme untuk Anda periksa, data awal untuk memeriksa obrolan yang disertakan.
Bagaimana cara menyesuaikan template? Cukup salin:
venv/lib/pythonx.x/situs-package/django_private_chat/template/django_private_chat/dialogs.html ke YourApp/Templates/django_private_chat/dialogs.html
Dan jangan ragu untuk mengeditnya sesuka Anda! Kami sengaja meninggalkan kode JS di dalamnya agar dapat diedit dengan mudah.
Instal Django-Private-Cat:
Pip Instal Django-Private-Cat
Bermigrasi:
python manager.py migrasi django_private_chat
Catatan: Anda dapat menggunakan paket ini dengan atau tanpa uvloop, cukup jalankan
python manage . py run_chat_serveratau lari
python manage . py run_chat_server_uvloopTambahkan ke install_apps Anda:
INSTALLED_APPS = (
...
'django_private_chat' ,
...
)Tambahkan server & port untuk server asyncio Anda ke pengaturan:
CHAT_WS_SERVER_HOST = 'localhost'
CHAT_WS_SERVER_PORT = 5002
CHAT_WS_SERVER_PROTOCOL = 'ws'Dimungkinkan untuk mengubah pesan format datetime menggunakan
DATETIME_FORMATTambahkan pola URL django-private-chat:
from django_private_chat import urls as django_private_chat_urls
urlpatterns = [
...
url ( r'^' , include ( 'django_private_chat.urls' )),
...
]Menambahkan
{ % block extra_js % }{ % endblock extra_js % }ke template dasar Anda
Sekarang Anda dapat memulai dialog menggunakan
/Dialog/some_existing_username
Untuk membuat server WSS (TLS) sebagai gantinya:
python manage . py run_chat_server "path/to/cert.pem"(Juga bekerja dengan UVLOOP). File "Cert.pem" harus berupa file PEM Plaintext yang berisi kunci pribadi pertama, kemudian sertifikat (mungkin merupakan gabungan dari file .key dan .crt). Harap dicatat bahwa WSS akan menggunakan TLSV1 secara default untuk Python 3.5 & 3.4 dan akan menggunakan ssl.protocol_tls_server untuk 3.6 ke atas. Fitur --------
-: white_check_mark: menggunakan model aplikasi saat ini (get_user_model () dan settings.auth_user_model)
-: white_check_mark: diterjemahkan (menggunakan UgetText dan { % trans %})
-: white_check_mark: obrolan pengguna satu-ke-satu
-: white_check_mark: Bekerja menggunakan websockets
-: white_check_mark: Works (opsional) menggunakan koneksi WSS (TLS) (Penafian - Keamanan Tidak Dijamin)
-: white_check_mark: menampilkan status online/offline
-: white_check_mark: Tampilan TEECTING/TIDAK Mengetik Status
-: white_check_mark: Model pesan yang dapat dihapus lunak -pastikan untuk menyimpan pesan untuk mematuhi undang -undang pemeliharaan pesan
-: white_check_mark: Flash tombol dialog saat pengguna yang saat ini tidak Anda bicarakan menulis pesan kepada Anda
-: point_right: Todo: Tambahkan dialog ke daftar saat yang baru dimulai
-: point_right: Todo: Tambahkan pengguna yang tidak ditemukan dan peringatan lainnya
-: point_right: Kemungkinan intergration backend redis
Apakah kode benar -benar berfungsi?
Sumber <MuvirtualEnv>/bin/aktifkan (myenv) $ pip install tox (myenv) $ tox
Alat yang digunakan dalam memberikan paket ini: