আমি সম্প্রতি জ্যাঙ্গোকে 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, কিন্তু যেহেতু জাজানো ভি 1.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? অথবা আপনি যে কোনও আদেশ চান