2014-11-14 12 views
9

मैं अब django के साथ एक वेबसाइट बना रहा हूं और मैं फेसबुक या एसई पर एक लाइव अधिसूचना सुविधा को कार्यान्वित करना चाहता हूं।लाइव अधिसूचना/django में चैट

मैंने कुछ शोध किया और ऐसा लगता है कि हालांकि दो विकल्प हैं: AJAX लंबे मतदान और websockets, बाद में जाने का रास्ता है।

हालांकि, जैसा कि आप जानते हैं कि websocket 'socket.io' के लिए प्लगइन जाने के लिए जाना जाता है, node.js प्लगइन बन जाता है और django पोर्ट केवल अजगर 2 का समर्थन करता है और प्रोजेक्ट बहुत अधिक मृत लगता है। मैं अपने प्रोजेक्ट दुभाषिया के रूप में अजगर 2.7 का उपयोग कर रहा हूं, लेकिन मैं अपने भविष्य के प्रमाण को स्वयं चाहता हूं ताकि अगर मैं बाद में पायथन 3 में अपग्रेड करूँ, तो मुझे यह नहीं लगता कि मैं इस कार्यक्षमता का उपयोग करने में सक्षम नहीं हूं।

तो मेरा प्रश्न यह है: क्या वेबसाकेट को लागू करने के लिए एक सीधा आगे और भविष्य तैयार तरीका है जिसका उपयोग डीजेंगो एनवी में लाइव नोटिफिकेशन और चैट भेजने के लिए किया जाएगा?

उत्तर

12

डीजेंगो खुद को अवरुद्ध तरीके से बना रहा है, यानी सिंक्रोनस दृष्टिकोण के साथ। तो, आप django ऐप के साथ लगातार लगातार वेबसाइकिल नहीं कर सकते हैं, क्योंकि यह पूरे django धागे को अवरुद्ध कर देगा।

यदि आप django परियोजना वातावरण के भीतर अधिसूचना/चैट सक्षम करना चाहते हैं, तो मैं centrifuge का उपयोग करने की अनुशंसा करता हूं। यह पायथन में लिखा गया है, लेकिन एसिंक (गैर-अवरुद्ध) ढांचे का उपयोग किया जाता है: tornado

लेकिन, आपको यह भी जानने की आवश्यकता नहीं है कि यह कैसे काम करता है, क्योंकि यह इसके साथ संवाद करने के लिए सरल आरईएसटी एपीआई प्रदान करता है।

सरलीकृत कार्यप्रवाह, docs जाँच अधिक जानकारी के लिए:

  1. प्रारंभ centrifuge एक ही सर्वर पर, अपने Django परियोजना के रूप में (या किसी अन्य पर, लेकिन उन दोनों के बीच कम विलंबता के साथ)
  2. आपका सामने के अंत WebSocket खुलेगा अपकेंद्रित्र के साथ, django परियोजना के साथ नहीं।
  3. जब आपको अधिसूचना भेजने की आवश्यकता होती है, तो इसे डीएसएएनओ से आरईएसटी एपीआई के माध्यम से अपकेंद्रित्र में भेजें, और अपकेंद्रित्र इसे आवश्यक ग्राहकों को पहुंचाएगा!

मैंने पहले से ही कोशिश की है और यह काम करता है!

+1

यह एक व्यवहार्य समाधान की तरह लगता है। बहुत बहुत धन्यवाद :) – Dan

+0

@ स्टॉक: यह इस के लिए बहुत ही आशाजनक धन्यवाद लगता है! क्या आप जानते हैं कि यह पाओएस होस्टिंग प्लेटफॉर्म के साथ हैकोकू जैसा संगत है? –

+1

@ डेविडडब्ल्यू। कोशिश नहीं की है, लेकिन [डॉक्स] (https://centrifuge.readthedocs.org/en/latest/content/deploy.html#heroku) के मुताबिक हैरोकू पर अपकेंद्रित्र चलाने के लिए संभव है – stalk

0

Django आपको जो भी बॉक्स ढूंढ रहा है उसे प्रदान नहीं करता है। आपको एक थर्ड पार्टी लाइब्रेरी का उपयोग करना होगा। एक फ्रेमवर्क में काम करता है Pusher है।

0

मुझे लगता है कि आप Firebase के लिए यह आप कमाल तुल्यकालन और देता जाना चाहिए किसी भी तुम इतनी अपने Django पर्यावरण के साथ कुछ भी करने को नहीं है दृश्यपटल पर चैट का उपयोग कैसे करें, ताकि आप आप firbase साथ कॉलबैक में बैकएंड asynchron अद्यतन कर सकते हैं जा रहे हैं। AngularJS के साथ भी फायरबेस, आपको वास्तव में वास्तव में भयानक तीन तरह से बाध्यकारी प्रदान करता है।

संबंधित मुद्दे