मैं हाल ही में Django को v1.3.1 से v1.4 में अपग्रेड करता हूं।
मेरे पुराने में settings.py
मेरे पास है
TEMPLATE_DIRS = (
os.path.join(os.path.dirname( __file__ ), 'templates').replace('\\', '/'),
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
यह इंगित करेगा /Users/hobbes3/Sites/mysite/templates
, लेकिन क्योंकि Django v1.4 ऐप फ़ोल्डर के रूप में प्रोजेक्ट फ़ोल्डर को उसी स्तर पर ले गया , मेरी settings.py
फ़ाइल अब /Users/hobbes3/Sites/mysite/mysite/
इसके बजाय है /Users/hobbes3/Sites/mysite/
।
तो वास्तव में मेरा सवाल अब दुगना है:
- मैं
os.path
एक निर्देशिका को एक स्तर से ऊपर देखने के लिए कैसे उपयोग कर सकता हूं__file__
। दूसरे शब्दों में, मैं चाहता हूँ/Users/hobbes3/Sites/mysite/mysite/settings.py
लगता है/Users/hobbes3/Sites/mysite/templates
संबंधित पथ का उपयोग कर। - मैं रखने होना चाहिए
template
फ़ोल्डर (जो पार एप्लिकेशन टेम्पलेट्स, की तरह हैadmin
,registration
परियोजना में, आदि)/User/hobbes3/Sites/mysite
के स्तर या कम से/User/hobbes3/Sites/mysite/mysite
?
settings.py
कई सर्वरों में समान उपयोग करता हूं । एकमात्र अंतर डेटाबेस क्रेडेंशियल्स हो सकता है। मैं os.path
दस्तावेज़ीकरण पढ़ रहा था, लेकिन मुझे एक आदेश नहीं मिला कि चलो तुम एक निर्देशिका जाओ। की तरह cd ..
।
os.path.join( os.path.dirname( __file__ ), '..' )
..
मतलब कर सकते हैं , न कि केवल जब पारित किया जाता है । cd
os.path.join( os.path.dirname ( __file__), os.path.pardir)
os
लिए उपयोग करतेcd
हैं../mysite
? या जो कुछ भी आप चाहते हैं