يوفر تطبيق الدردشة المحلي المستند إلى Django للمستخدمين إمكانيات اتصال في الوقت الفعلي بين المتصفحات المختلفة. يمكن للمستخدمين التسجيل وتسجيل الدخول والمشاركة في محادثات مع مستخدمين آخرين من خلال واجهة ويب. يستخدم التطبيق قنوات Django للتعامل مع اتصالات WebSocket ، مما يتيح الاتصال غير المتزامن.
المراسلة في الوقت الفعلي: قم بإنشاء منصة للمستخدمين على متصفحات متعددة لتبادل الرسائل في الوقت الفعلي دون تحديث الصفحة. مصادقة المستخدم: قم بتنفيذ مصادقة المستخدم لضمان الوصول الآمن إلى وظيفة الدردشة.
قوالب HTML: حدد بنية صفحات الويب ، بما في ذلك تسجيل الدخول والتسجيل والدردشة. تصميم CSS: عزز الجاذبية المرئية وتجربة المستخدم من خلال التصميم المخصص. JavaScript (Ajax): التعامل مع الطلبات غير المتزامنة لإرسال واستلام الرسائل دون تعطيل واجهة المستخدم.
إطار Django: يعمل على تشغيل خادم الواجهة الخلفية ، ومعالجة مصادقة المستخدم ، والتوجيه ، وعمليات قاعدة البيانات. قنوات Django: لاتصالات WebSocket للتواصل في الوقت الفعلي بين العملاء. Python: تنفيذ منطق العمل ووظائف الخلفية ، بما في ذلك معالجة الرسائل وإدارة المستخدم.
Class ChatConsumer (AsyncwebsocketConsumer): نحن هنا نقوم بإنشاء فئة تسمى chatconsumer الذي يرث من asyncwebsocketconsumer ويستخدم لإنشاء وتدمير والقيام ببعض الأشياء الأخرى مع WebSockets. وهنا نقوم بإنشاء chatsocket للغرض المطلوب.
ASYNC DEF Connect (Self): تعمل هذه الوظيفة على مثيل WebSocket الذي تم إنشاؤه وعندما يكون الاتصال مفتوحًا أو إنشاءًا ، فإنه يربط ويقبل الاتصال. ينشئ اسم مجموعة لغرفة الدردشة ويضيف المجموعة إلى مجموعة طبقة القناة.
Async def disconnect (): هذا يزيل المثيل فقط من المجموعة.
ASYNC DEF RESER (): يتم تشغيل هذه الوظيفة عندما نرسل بيانات من WebSocket (الحدث الذي يعمل هذا هو: إرسال) ، هذا يتلقى البيانات النصية التي تم تحويلها إلى تنسيق JSON (كما هو مناسب لـ JavaScript ) بعد استلام text_data ، يجب أن يتم نشره في الحالات الأخرى النشطة في المجموعة. نقوم باسترداد معلمة الرسالة التي تحمل الرسالة ومعلمة اسم المستخدم التي تم إرسالها بواسطة المقبس عبر HTML أو JS. ستنتشر هذه الرسالة التي يتم استلامها إلى مثيلات أخرى عبر طريقة channel_layer.group_send () التي تأخذ الوسيطة الأولى باعتبارها اسم RoomgroupName الذي ينتمي إلى المجموعة هذه المثيل ومكان إرسال البيانات. ثم الوسيطة الثانية هي القاموس الذي يحدد الوظيفة التي ستتعامل مع إرسال البيانات ("النوع": "sendMessage") ، كما أن القاموس لديه الرسالة المتغيرة التي تحمل بيانات الرسالة.
ASYNC DEF SendMessage (Self ، Event): تأخذ هذه الوظيفة المثيل الذي يرسل البيانات والحدث ، ويحمل الحدث بشكل أساسي البيانات التي تم إرسالها عبر طريقة Group_Send () لوظيفة RESER (). ثم يرسل الرسالة ومعلمة اسم المستخدم إلى جميع الحالات النشطة في المجموعة. ويتم إلقاؤه بتنسيق JSON حتى يتمكن JS من فهم التدوين. JSON هو التنسيق (تدوين كائن JavaScript)
يمكن للمستخدمين الاشتراك في حساب جديد من خلال توفير التفاصيل اللازمة. يمكن للمستخدمين الحاليين تسجيل الدخول باستخدام بيانات الاعتماد الخاصة بهم.
الدردشة:
عند المصادقة ، يمكن للمستخدمين الوصول إلى واجهة الدردشة. يمكنهم إرسال واستقبال الرسائل في الوقت الفعلي مع المستخدمين الآخرين الذين قاموا بتسجيل الدخول على متصفحات مختلفة. يتم عرض الرسائل ديناميكيًا دون الحاجة إلى تحديث الصفحة.
استنساخ المستودع من جيثب. تثبيت التبعيات المطلوبة باستخدام PIP تثبيت متطلبات. txt. تشغيل الترحيل باستخدام Python Manage.py Migrate. ابدأ خادم Django Development مع Python Manage.py Runserver.
قم بالتسجيل للحصول على حساب جديد أو تسجيل الدخول باستخدام بيانات الاعتماد الموجودة. قم بإعداد مستخدمين أو ثلاثة مستخدمين على WebBrowsers المختلفة (على سبيل المثال ، أحدهم على Fireforx ، واحد على Chrome ، وواحد على Microsoft Edge) ، ابدأ محادثة عن طريق كتابة الرسائل في مربع إدخال الدردشة. يتم تسليم الرسائل على الفور إلى مستخدمين آخرين في غرفة الدردشة المحلية.
طرق العرض: التعامل مع طلبات HTTP وتقديم قوالب HTML المناسبة. النماذج: تحديد مخطط قاعدة البيانات ، بما في ذلك مصادقة المستخدم وتخزين الرسائل. النماذج: إدارة مدخلات المستخدم لوظائف التسجيل وتسجيل الدخول. المستهلكون: تنفيذ مستهلكي WebSocket باستخدام قنوات Django لمعالجة الرسائل في الوقت الفعلي.
تنفيذ تشفير الرسائل لتحسين الأمان. استكشف خيارات قابلية التوسع للتعامل مع قاعدة مستخدم أكبر. استضافة التطبيق عبر الإنترنت على موقع ويب بطريقة أو بأخرى (سيحتاج الأمان إلى أن يكون أولوية أعلى بكثير)