में एकाधिक ऐप्स के लिए स्थैतिक फ़ाइलों का प्रबंधन करना मैं कई अनुप्रयोगों द्वारा रचित एक Django (1.3) प्रोजेक्ट विकसित कर रहा हूं। प्रत्येक एप्लिकेशन की अपनी स्थिर फाइलें static
निर्देशिका के अंतर्गत होती हैं। इसके अलावा, मैंने project_static
नामक एक निर्देशिका जोड़ा है जिसमें स्थिर फाइलें होनी चाहिए जो विभिन्न अनुप्रयोगों जैसे कि jQuery के समान हैं।Django
समस्या जो मैं तुरंत चलाता हूं वह टक्कर नामकरण का है। डिफ़ॉल्ट रूप से, collectstatic
एप्लिकेशन द्वारा वर्गीकृत किए बिना, सब कुछ वैश्विक static
निर्देशिका के अंतर्गत बस रखेगा। यह मेरे लिए काम नहीं करता है, क्योंकि प्रत्येक एप्लिकेशन में - उदाहरण के लिए - css/screen.css
नामक एक फ़ाइल है।
तरह से मैं यह STATICFILES_FINDERS
से django.contrib.staticfiles.finders.AppDirectoriesFinder
को दूर करने और namespaced static files dirs का उपयोग करना है हल है, तो अपनी सेटिंग्स अब की तरह
STATICFILES_DIRS = (
os.path.join(PROJECT_PATH, 'project_static'),
('my_app', os.path.join(PROJECT_PATH, 'my_app', 'static')),
('another_app', os.path.join(PROJECT_PATH, 'another_app', 'static')),
...
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
)
समस्या यह है कि इस तरह से मैं स्टैटिक फ़ाइलें अन्य सभी अनुप्रयोगों के लिए, के लिए खो देते हैं देखो उदाहरण django.contrib.admin
। बेशक मैं मैन्युअल रूप से व्यवस्थापक जोड़ सकता हूं, लेकिन मुझे यकीन नहीं है कि व्यवस्थापक को तोड़ने के बिना ऐसा कैसे करें, जिसमें एक अलग निर्देशिका संरचना है।
क्या एक से अधिक एप्लिकेशन के साथ स्थिर फ़ाइलों का प्रबंधन करने का कोई बेहतर तरीका है?
अगर हम nginx का उपयोग कर स्थिर फाइलों की सेवा करते हैं तो यह अभी भी पसंदीदा तरीका है? (स्थैतिक फाइलों को रखने, ऐप में खुद टेम्पलेट्स) – Dineshkumar
हाँ। आप अपनी सभी संपत्तियों को अपनी परियोजना के साथ प्रबंधित करना चाहते हैं। –