โครงการนี้เลิกใช้แล้ว เวอร์ชันใหม่และได้รับการปรับปรุงได้รับการเผยแพร่แล้ว:
https://github.com/bearle/django_private_chat2
โปรดตรวจสอบ
โปรดตรวจสอบแพ็คเกจอื่นของเรา https://github.com/bearle/django_mail_admin
Django แชทแบบ Asyncio ที่ใช้ Asyncio แบบหนึ่งต่อหนึ่งพัฒนาโดย Team Bearle

แอพนี้ใช้คำสั่งการจัดการแยกต่างหาก run_chat_server สำหรับเรียกใช้ websockets ในบริบท django มันมีจุดประสงค์เพื่อใช้กับบางสิ่งบางอย่างเช่นหัวหน้างานหรือ SystemD เพื่อเรียกใช้ Asyncio Webserver เป็นหนึ่งแยกจาก Django เราไม่ต้องการให้แอพของเราถูก จำกัด ให้ใช้ร่วมกับช่อง Django - นั่นคือเหตุผลที่เราทำอย่างนั้น
คุณสามารถค้นหาตัวอย่าง systemd config เพื่อเรียกใช้เป็นบริการที่ https://github.com/bearle/django-private-chat/blob/dev/example.service
ป.ล. อย่าลืมเปลี่ยน chat_ws_server_host && chat_ws_server_port && chat_ws_server_protocol การตั้งค่า!
เอกสารฉบับเต็มคือ (สุดท้าย) ที่ https://django-private-chat.readthedocs.io คุณยังสามารถตรวจสอบเอกสารและ readme นี้ได้
คุณสามารถตรวจสอบโครงการตัวอย่างของเราโดยการโคลนนิ่ง repo และมุ่งหน้าไปยังตัวอย่าง/ ไดเรกทอรี มีไฟล์ readme ให้คุณตรวจสอบข้อมูลเริ่มต้นเพื่อตรวจสอบการแชทที่รวมอยู่ด้วย
จะปรับแต่งเทมเพลตได้อย่างไร? เพียงแค่คัดลอก:
venv/lib/pythonx.x/site-packages/django_private_chat/templates/django_private_chat/dialogs.html ถึง YourApp/Templates/django_private_chat/dialogs.html
และอย่าลังเลที่จะแก้ไขตามที่คุณต้องการ! เราตั้งใจทิ้งรหัส JS ไว้ข้างในเพื่อให้สามารถแก้ไขได้อย่างง่ายดาย
ติดตั้ง django-private-chat:
PIP ติดตั้ง django-private-chat
โยกย้าย:
python managem.py โยกย้าย django_private_chat
หมายเหตุ: คุณสามารถใช้แพ็คเกจนี้ที่มีหรือไม่มี uvloop เพียงแค่เรียกใช้อย่างใดอย่างหนึ่ง
python manage . py run_chat_serverหรือวิ่ง
python manage . py run_chat_server_uvloopเพิ่มลงในการติดตั้งของคุณ:
INSTALLED_APPS = (
...
'django_private_chat' ,
...
)เพิ่มเซิร์ฟเวอร์และพอร์ตสำหรับเซิร์ฟเวอร์ Asyncio ของคุณไปยังการตั้งค่า:
CHAT_WS_SERVER_HOST = 'localhost'
CHAT_WS_SERVER_PORT = 5002
CHAT_WS_SERVER_PROTOCOL = 'ws'เป็นไปได้ที่จะเปลี่ยนรูปแบบข้อความ DateTime โดยใช้
DATETIME_FORMATเพิ่มรูปแบบ URL ของ Django-Private-Chat:
from django_private_chat import urls as django_private_chat_urls
urlpatterns = [
...
url ( r'^' , include ( 'django_private_chat.urls' )),
...
]เพิ่ม
{ % block extra_js % }{ % endblock extra_js % }ไปยังเทมเพลตฐานของคุณ
ตอนนี้คุณสามารถเริ่มต้นโต้ตอบโดยใช้
/กล่องโต้ตอบ/some_existing_username
ในการสร้างเซิร์ฟเวอร์ WSS (TLS) แทน:
python manage . py run_chat_server "path/to/cert.pem"(ยังใช้งานได้กับ Uvloop ด้วย) ไฟล์ "cert.pem" ควรเป็นไฟล์ PEM PLANTEXT ที่มีคีย์ส่วนตัวแรกจากนั้นใบรับรอง (อาจเป็นการเชื่อมต่อของไฟล์. key และไฟล์. crt) โปรดทราบว่า WSS จะใช้ TLSV1 โดยค่าเริ่มต้นสำหรับ Python 3.5 & 3.4 และจะใช้ SSL.protocol_tls_server สำหรับ 3.6 ขึ้นไป คุณสมบัติ --------
-: white_check_mark: ใช้โมเดลแอพปัจจุบัน (get_user_model () และ settings.auth_user_model)
-: white_check_mark: translatable (ใช้ ugetText และ { % trans %})
-: white_check_mark: แชทผู้ใช้แบบหนึ่งต่อหนึ่ง
-: white_check_mark: ทำงานโดยใช้ websockets
-: White_check_mark: Works (ทางเลือก) โดยใช้การเชื่อมต่อ WSS (TLS) (ข้อจำกัดความรับผิดชอบ - ไม่รับประกันความปลอดภัย)
-: White_check_mark: แสดงสถานะออนไลน์/ออฟไลน์
-: White_check_mark: แสดงสถานะการพิมพ์/ไม่พิมพ์สถานะ
-: white_check_mark: โมเดลข้อความที่ลบได้อย่างนุ่มนวล -อย่าลืมเก็บข้อความไว้ให้สอดคล้องกับกฎหมายการเก็บข้อความ
-: white_check_mark: แฟลชปุ่มโต้ตอบเมื่อผู้ใช้ที่คุณไม่ได้พูดคุยกับคุณเขียนข้อความถึงคุณในขณะนี้
-: point_right: todo: เพิ่มกล่องโต้ตอบลงในรายการเมื่อใหม่เริ่มต้น
-: point_right: todo: เพิ่มการแจ้งเตือนผู้ใช้และอื่น ๆ
-: Point_right: การรวมแบ็กเอนด์ Redis ที่เป็นไปได้
รหัสใช้งานได้จริงหรือไม่?
แหล่งที่มา <YourVirTualEnv>/bin/เปิดใช้งาน (myenv) $ pip ติดตั้ง Tox (myenv) $ tox
เครื่องมือที่ใช้ในการแสดงผลแพ็คเกจนี้: