मेरी स्थानीय मशीन उबंटू 8.10 पर पायथन 2.5 और नेग्नेक्स चला रही है, जिसमें Django नवीनतम विकास ट्रंक से निर्मित है।
मेरे द्वारा अनुरोधित प्रत्येक URL के लिए, यह फेंकता है:
TemplateDoesNotExist पर / appname / path appname / template_name.html
Django ने इन टेम्प्लेटों को इस क्रम में लोड करने की कोशिश की: * लोडर django.template.loaders.filesystem.function का उपयोग करना: * लोडर django.template.loaders.app_directories.function का उपयोग करना:
TEMPLATE_DIRS ('/us/lib/python2.5/site-packages/projectname/templates',)
क्या इस मामले में /usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html की तलाश है ? अजीब बात यह है कि यह फाइल डिस्क पर मौजूद है। Django इसे क्यों नहीं ढूंढ सकता है?
मैं इस तरह की समस्या के बिना Ubuntu 9.04 पर पायथन 2.6 के साथ रिमोट सर्वर पर एक ही एप्लिकेशन चलाता हूं। अन्य सेटिंग्स समान हैं।
क्या मेरी स्थानीय मशीन पर कुछ गलत है, या क्या संभवतः ऐसी त्रुटियां हो सकती हैं जिन्हें मुझे देखना चाहिए?
मेरी सेटिंग में , मैंने निर्दिष्ट किया है:
SETTINGS_PATH = os.path.normpath(os.path.dirname(__file__))
# Find templates in the same folder as settings.py.
TEMPLATE_DIRS = (
os.path.join(SETTINGS_PATH, 'templates'),
)
यह निम्नलिखित फ़ाइलों की तलाश में होना चाहिए:
- /usr/lib/python2.5/site-packages/projectname/templates/appname1/template1.html
- /usr/lib/python2.5/site-packages/projectname/templates/appname1/template2.html
- /usr/lib/python2.5/site-packages/projectname/templates/appname2/template3.html
- ...
उपरोक्त सभी फाइलें डिस्क पर मौजूद हैं।
हल किया
मेरे प्रयास करने के बाद यह अब काम करता है:
chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/*
यह बहुत अजीब है। मुझे इसे काम करने के लिए रिमोट सर्वर पर करने की आवश्यकता नहीं है।