2012-06-20 11 views
6

यह समस्या विशेष रूप से Django कंप्रेसर का उपयोग कर उत्पादन साइट के लिए है। मैं इसे काम करना चाहता हूं जब COMPRESS_OFFLINE = सही है ताकि मैं उत्पादन में धक्का देने से पहले अपनी सभी साइट की सीएसएस फ़ाइलों को पूर्व-संपीड़ित कर सकूं।Django कंप्रेसर ऑफ़लाइन विरासत

मैं करने के लिए, base.html भीतर, इस के बराबर करना चाहते हैं:

{% compress %} 
    {% block css %} 
    {% endblock %} 
{% endcompress %} 

ताकि फ़ाइलों कि आधार का विस्तार में मेरे सीएसएस ब्लॉक के सभी संकुचित कर रहे हैं। यह मुख्य रूप से इसलिए है कि मुझे अपने सभी बच्चे टेम्पलेट्स में {% compress%} टैग जोड़ने की आवश्यकता नहीं है।

स्टैक ओवरफ़्लो पर कई समान समस्याएं हैं, लेकिन मुझे ऑफ़लाइन संपीड़ित करते समय ऐसा करने के लिए एक अच्छा समाधान नहीं मिला है (यानी Django कंप्रेसर के संपीड़न प्रबंधन आदेश के साथ)। आसपास के संपीड़न टैग ठीक काम करते हैं जब COMPRESS_OFFLINE = गलत। क्या किसी को इस काम को ऑफ़लाइन बनाने का कोई तरीका मिला है?

मैं कुछ समान थ्रेड सूचीबद्ध कर रहा हूं जो गैर-ऑफ़लाइन समाधान से संबंधित प्रतीत होते हैं। दूसरा सूत्र में लिंक संकेत मिलता है कि वहाँ विरासत के साथ पिछले मुद्दों रहे हैं, जब साथ Django कंप्रेसर ऑफ़लाइन काम, लेकिन शायद वे समाधान हो गया है:

Django-compressor and template inheritance

Does django-compressor work with template inheritance?

उत्तर

0

आपको लगता है कि के लिए उपयोग संपीड़ित ऑफ़लाइन करना है काम करने की तकनीक, लेकिन जब तक आपके पास कैशिंग सही ढंग से सेट हो, तब तक डीजेंगो-कंप्रेसर प्रत्येक अनुरोध पर फिर से संपीड़ित नहीं होगा जब तक कि संसाधनों को बदल दिया न जाए।

मैंने साइट तकनीक का विस्तार करने और हमारे मिश्रणों का उपयोग करने के लिए उपयोगकर्ताओं को lesscss का उपयोग करने की अनुमति देने के लिए इस तकनीक का उपयोग किया है। यह काम करने के लिए थोड़ा सा भद्दा है लेकिन (मेरे अनुभव में अब तक) यह ठीक से कॉन्फ़िगर होने पर पूरी तरह से स्थिर है, और पहली बार संपीड़ित होने के बाद एक पर्याप्त अनुरोध विलंबता लागू नहीं करता है।

आप सुनिश्चित करने के लिए संकुचित संपत्ति कैश में हमेशा से रहे हैं (वे सक्रिय रहने की अवधि के लिए निगरानी, ​​लेकिन इस के लिए काम करते हैं) विभिन्न पृष्ठों को हिट करने के pingdom, blamestella, या new relic की तरह एक सेवा सेट कर सकते हैं

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