के रूप में लोगों को पहले ही बताया है, तो आप /.*
पैटर्न से पहले अपने static_dir
निर्देश रखना चाहिए
हालांकि, कि केवल एक चीज आपको जानकारी होनी चाहिए नहीं है।
इस निर्देश को app.yaml में डालकर, आप ऐपइंजिन वेबसर्वर (चाहे वह विकास या उत्पादन सर्वर) पथ /static
को संभालते हैं, और आपको स्थैतिक निर्देशिका के अंदर होने वाली सभी स्थिर फ़ाइलों की आवश्यकता होती है। इसका मतलब है आप python manage.py collectstatic
हर बार अपना स्थिर फाइलों में कुछ भी बदल (खासकर यदि आप स्थिर फाइलों के साथ/उपयोग क्षुधा है - कहते हैं, जैसे, admin
या django-tinymce
) को चलाने के लिए होगा सिर्फ स्थानीय सर्वर पर इन परिवर्तनों का परीक्षण करने के
तो उससे कैसे बचें? डिफ़ॉल्ट रूप से staticfiles डेवलपर सर्वर पर इन फ़ाइलों को हर समय संग्रहित किए बिना विकास सर्वर पर सेवा प्रदान करने में सहायता प्रदान करता है, समस्या पिछले पैराग्राफ में वर्णित भयानक नाम संघर्ष है: Django आपके स्थैतिक फ़ाइलों के पथ के अनुरोधों को पकड़ नहीं सकता है, क्योंकि वे ऐप्स सर्वर द्वारा प्रबंधित किए जाते हैं। आप विकास और उत्पादन सर्वर पर अलग अलग रास्तों का उपयोग करके इसे हल कर सकते हैं:
# in settings.py
if DEBUG:
STATIC_URL = '/devstatic/'
else:
STATIC_URL = '/static/'
(djangoappengine विकास सर्वर पर सही पर डीबग सेट)। आप ADMIN_MEDIA_PREFIX = '/static/admin/'
छोड़ सकते हैं, लेकिन व्यवस्थापक
उपयोग करने से पहले कम से कम एक बार collectstatic चलाने के लिए याद बेशक की /static/path/to.css
ओह बजाय टेम्पलेट्स में {{ STATIC_URL }}path/to.css
उपयोग करने के लिए याद है, और मुझे लगता है कि आप मूल स्थिर फ़ाइलों के लिए निर्देशिका भेद आप उस पर काम करें और निर्देशिका जहां स्थिर फाइलें एकत्र की जानी चाहिए। मैं अपने settings.py में इस का उपयोग करें:
STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'sitestatic')
STATICFILES_DIRS = (
os.path.join(os.path.dirname(__file__), 'static'),
)
इसका मतलब यह है: आप static
निर्देशिका में अपने स्थिर fiels डाल (और अपने ऐप्स के static
dirs में), collectstatic
उन्हें sitestatic
dir में एकत्र करता है।उचित app.yaml
निर्देश
- url: /static
static_dir: sitestatic
अंत में आप app.yaml
कॉन्फ़िगर जब, अपने अनुप्रयोग को अपलोड करने के बाद से सभी स्थिर फ़ाइलों में एकत्र किया जाएगा और sitestatic
से प्रदान किए जाते static
और media
निर्देशिका की अनदेखी करने के सकता है। हालांकि, आपको इसे अपलोड करते समय ही सेट करना चाहिए (अन्यथा ये फ़ाइलें डीबग सर्वर में उपलब्ध नहीं होंगी)
क्या आप किसी भी मौके पर अपने टेम्पलेट्स डाल रहे हैं? –