2013-09-29 3 views
11

मैं livereloadDjango templates कैसे कर सकता हूं?Django टेम्पलेट्स को लाइवलोड कैसे करें?

+0

@jthill, मैं रचनात्मक और व्यावहारिक उत्तर और समाधान की तलाश में हूं। Google खोज परिणामों ने उन्हें प्रदान नहीं किया। –

+0

ठीक है, मुझे इसे दोबारा दोहराएं: अब तक की सबसे अच्छी चीज़ क्या है? इसे दिखाएं, और कहें कि आप कहां फंस गए हैं। जैसा कि अब है, "रचनात्मक और व्यावहारिक उत्तर" बेहतर वर्तनी है "किसी को मेरी विशिष्ट जरूरतों के अनुरूप लेख लिखने और लिखने के लिए, जिसे मैं बताता हूं"। – jthill

+0

हाय @jthill, "livereload Django टेम्पलेट्स" का अर्थ है कि जब मैं अपने Django टेम्पलेट्स को बदलता हूं तो परिवर्तन स्वचालित रूप से ब्राउज़र पर प्रचारित होना चाहिए ताकि मुझे इसे स्वयं रीफ्रेश न करना पड़े। मैं इस सवाल से पूछ रहा हूं क्योंकि मैंने Google/DuckDuckGo खोज परिणामों से ऐसे कोई समाधान नहीं देखा है। मैंने व्यक्तिगत रूप से इसे काम करने की कोशिश नहीं की है। आप कैसे मदद कर सकते हैं? –

उत्तर

7

मुझे एक पायथन मूल समाधान मिला जो सेटअप करना आसान है और अच्छी तरह से काम करता है, Python LiveReload (doc)।

pip install livereload 
livereload /path/to/monitor 

आपको अभी भी browser plugin इंस्टॉल करना होगा। प्लगइन और लाइवरलोड लोड करने के लिए पोर्ट 35729 का उपयोग करें (अनुकूलन योग्य), लेकिन आपको ब्राउज़र को रनरवर के माध्यम से निर्दिष्ट पोर्ट पर इंगित करने की आवश्यकता है।

python manage.py runserver example.com:8000 

इस मामले को लाइव रीलोड यूआरएल http://example.com:8000 है, और जब आप अपने टेम्पलेट्स बदल पेज स्वचालित ताज़ा किया जाता है: उदाहरण के लिए।

अंतिम नोट के रूप में, पायथन लाइव रीलोड को प्रोग्रामेटिक रूप से भी इस्तेमाल किया जा सकता है और wsgi अनुप्रयोगों का समर्थन करता है।

+0

मैंने अपने देव पर्यावरण में django-live-reload सेट अप किया है और कोई ब्राउज़र प्लगइन आवश्यक नहीं है। django-live-reload को पायथन लाइवरेलोड पैकेज पर आधारित माना जाता है, इसलिए शायद ब्राउज़र प्लगइन की आवश्यकता नहीं है। वे websockets का उपयोग करते हैं जिन्हें इन दिनों ब्राउज़रों में निर्मित तकनीक का उपयोग करना चाहिए? – nmgeek

0

आप python-livereload इस तरह उपयोग कर सकते हैं:

pip install livereload 
livereload project/static 

और आदेश में इस काम के लिए अपने base.html में इस स्निपेट शामिल करने के लिए:

<script type="text/javascript" src="http://127.0.0.1:35729/livereload.js"></script> 

फिर ./manage.py runserver चलाने के लिए और यह काम करना चाहिए।

4

मैं पैकेज django-livereload-server पैकेज को बनाए रखता हूं जो लाइवरेलोड जावास्क्रिप्ट दोनों को जोड़ता है और एक आसान django तरीके से एक लाइवरेलोड सर्वर प्रदान करता है। तुम सब करने की ज़रूरत है:

  • pip install django-livereload-server
  • INSTALLED_APPS
  • को 'livereload' जोड़ने 'livereload.middleware.LiveReloadScript'MIDDLEWARE_CLASSES
  • को ./manage.py livereload साथ livereload सर्वर/फ़ाइल द्रष्टा शुरू करते हैं।
+0

मुझे एक समस्या मिल रही है जहां यह अद्यतन होने पर 0 दर्शक को इंगित कर रहा है। इसे सीधे प्राप्त करने के लिए, मैं एक अलग बंदरगाह पर ./manage.py livereload चलाता हूं और मुझे ब्राउज़र को रनरवर पथ (डिफ़ॉल्ट 127.0.0.1:8000) पर इंगित करने में सक्षम होना चाहिए और इसे स्वचालित रूप से सही अपडेट करना चाहिए?मैंने बस सुनिश्चित करने के लिए लाइवरेलोड पोर्ट पर जाने की कोशिश की लेकिन मुझे 404 त्रुटि मिली। मैं ब्राउज़र को वॉचर के रूप में कैसे जोड़ूं? –

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