แพ็กเกจอย่างเป็นทางการ · เฟรมเวิร์ก
หน้า Django แบบเรียลไทม์โดยไม่ต้องใช้ Django Channels
แอป Django แบบ WSGI ของคุณเรนเดอร์ HTML fragment ตามเดิมแล้วบรอดแคสต์ออกไป ทุกหน้าที่เปิดอยู่จะเพิ่ม แทนที่ หรือลบ fragment นั้นทันที ไม่ต้องดูแล Django Channels, เซิร์ฟเวอร์ ASGI หรือ Redis
- ใส่ decorator @broadcasts ตัวเดียว รายการก็อัปเดตสดในทุกหน้า ไม่ว่าแถวนั้นจะถูกบันทึกจาก view, admin, งาน Celery หรือ shell
- การบรอดแคสต์จะรอให้ทรานแซกชันคอมมิตก่อนจึงส่ง และทำงานร่วมกับ htmx และ Turbo 8 ได้
- ลงนามแชนเนล private และ presence ของคุณเอง ตรวจสอบ webhook และออกโทเค็นการแจ้งเตือนแบบพุช รองรับ Django 4.2 ถึง 6.1 บน Python 3.10 ขึ้นไป
ลงชื่อเข้าใช้เพื่อดูโค้ดตัวอย่างเหล่านี้พร้อมโฮสต์คลัสเตอร์ของคุณเอง ลงชื่อเข้าใช้
ติดตั้ง
pip install django-hibira # INSTALLED_APPS += ["django_hibira"] # urlpatterns += [path("hibira/", include("django_hibira.urls"))] HIBIRA_APP_ID=YOUR_APP_ID HIBIRA_APP_KEY=YOUR_APP_KEY HIBIRA_APP_SECRET=YOUR_APP_SECRET HIBIRA_HOST=ws.hibira.io python manage.py hibira_checkตั้งค่า
# chat/models.py from django.db import models from django_hibira import broadcasts class Message(models.Model): room = models.ForeignKey(Room, on_delete=models.CASCADE, related_name="messages") body = models.TextField()ใช้งาน
{# base.html, in <head> #} {% load hibira %} {% hibira_scripts %} {# chat/room.html #} {% hibira_stream room %} <ul id="messages"> {% for message in room.messages.all %}{% include "chat/_message.html" %}{% endfor %} </ul>
ก่อนเริ่ม
- ซีเคร็ตของแอปจะแสดงเพียงครั้งเดียว ตอนสร้างแอปหรือตอนหมุนเวียนซีเคร็ต เก็บไว้บนเซิร์ฟเวอร์เท่านั้น ห้ามใส่ในเบราว์เซอร์หรือไฟล์บิลด์ของเกม
- ในแพ็กเกจ Free ให้ใส่ทุก origin ที่หน้าเว็บโหลดมาใน Origin ที่อนุญาตของแอป (http://localhost:8000 ระหว่างพัฒนา แล้วตามด้วยโดเมนของคุณ) ส่วน "*" ต้องใช้แพ็กเกจแบบชำระเงิน
ใช้ app key จากแดชบอร์ดของคุณ ส่วน secret ให้เก็บไว้บนเซิร์ฟเวอร์เท่านั้น ช่อง อีเวนต์ และ endpoint การยืนยันสิทธิ์ทำงานเหมือนกับที่ใช้กับ Pusher ทุกประการ สร้างบัญชีฟรีของคุณ →