MEDIA_ROOT
वह निर्देशिका है जहां फ़ाइल अपलोड रखे जाते हैं, साथ ही जहां जेनरेट की गई फ़ाइलें आमतौर पर संग्रहीत होती हैं। उदाहरण के लिए, मेरे Django ऐप्स में से एक उपयोगकर्ताओं को छवियों को अपलोड करने की अनुमति देता है। मॉडल कक्षाओं में से एक में, मैं से के साथ ImageField
प्रकार का उपयोग करता हूं। जब भी कोई उपयोगकर्ता कोई छवि अपलोड करता है, तो फ़ाइल MEDIA_ROOT/%Y-%m/
में संग्रहीत होती है (%Y
के साथ चालू वर्ष के साथ प्रतिस्थापित किया गया है और %m
वर्तमान माह संख्या के साथ प्रतिस्थापित किया गया है)। साथ ही, जब सॉर्ल-थंबनेल अपलोड की गई छवि के लिए थंबनेल उत्पन्न करता है, तो यह MEDIA_ROOT/cache/
में कहीं थंबनेल by default रखता है।
STATIC_ROOT
उस निर्देशिका को कॉन्फ़िगर करने के लिए उपयोग किया जाता है जहां स्थैतिक संपत्तियां रखी जाती हैं। उदाहरण के लिए, वेब पेजों के डिज़ाइन में उपयोग की जाने वाली साइट स्टाइलशीट्स, जावास्क्रिप्ट फ़ाइलें और छवियां STATIC_ROOT
में जाने वाली फ़ाइलों के प्रकार हैं। यदि आपके पास एकाधिक इंस्टॉल किए गए ऐप्स हैं, तो प्रत्येक ऐप जो स्थैतिक फ़ाइलों का उपयोग करती है, उसकी अपनी स्थिर फाइल निर्देशिका हो सकती है। STATIC_ROOT
में सभी ऐप्स की स्थिर फ़ाइलों की प्रतिलिपि बनाने के लिए आप collectstatic
प्रबंधन फ़ंक्शन (python manage.py collectstatic
के माध्यम से आमंत्रित) का उपयोग करते हैं।
स्रोत
2011-09-17 18:34:47
उत्तर के लिए धन्यवाद। एक और अनुवर्ती सवाल। अगर मुझे उत्पाद छवियां मिलती हैं तो क्या होगा? उसे कहाँ जाना चाहिए? व्यवस्थापक इसे अपलोड कर सकते हैं और साइट पर प्रदर्शित किए जाने चाहिए। –
@ bash-: क्या आप डेटाबेस में उत्पाद छवियों के पथ संग्रहीत करते हैं? ['ImageField'] की फ़ाइलें (https://docs.djangoproject.com/en/dev/ref/models/fields/#imagefield) और [' FileField'] (https://docs.djangoproject.com/en/dev/ref/models/fields/# filefield) 'MEDIA_ROOT' में जाएं, इसलिए इस मामले में, हाँ, उत्पाद छवियां' MEDIA_ROOT' में जाती हैं (लेकिन आपको उन्हें 'MEDIA_ROOT' पर हाथ से अपलोड करने की आवश्यकता नहीं है - आपका ऐप को ऐसा करना चाहिए)। यदि आप मैन्युअल रूप से उत्पाद छवियों को बनाए रखते हैं और उन्हें टेम्पलेट्स पर '' टैग में संदर्भित करते हैं, तो उत्पाद छवियों को 'STATIC_ROOT' में जाना चाहिए। –