জাজানো প্রকল্পে `django.conf আমদানি সেটিংস থেকে এবং" আমদানি সেটিংস` "এর মধ্যে পার্থক্য কী?


92

আমি পড়ছি যা বেশিরভাগ লোকেরা করেন from django.conf import settingsতবে আমি কেবল import settingsএকটি জ্যাঙ্গো প্রকল্পের ফাইলে করা পার্থক্যটিকে ছোট করে দেখি না । কেউ কি পার্থক্য ব্যাখ্যা করতে পারেন?


django.conf সেটিংস হ'ল জ্যাঙ্গো ডিফল্ট বা "গ্লোবাল" সেটিংস যা আপনি নিজের প্রকল্প ভিত্তিক সেটিংসের সাথে ওভাররাইড করতে পারেন।
জিঙ্গো

7
কখনও কখনও দ্বিতীয় ফর্ম ব্যবহার করুন। প্রথমটি হ'ল একমাত্র সঠিক।
ব্রুনো desthuilliers

4
তবে দ্বিতীয়টি কেন কখনও ব্যবহার করবেন না?
tzenderman

উত্তর:


111

import settingssettings.pyপাওয়া পাইথন নামের প্রথম পাইথন মডিউলটি sys.pathসাধারণত আমদানি করবে (সাধারণত ডিফল্ট জ্যাঙ্গো সেটআপগুলিতে)। এটি কেবলমাত্র আপনার সাইটের সংজ্ঞায়িত সেটিংস ফাইলটিতে অ্যাক্সেসের অনুমতি দেয় যা জাঙ্গো ডিফল্ট সেটিংস ( django.conf.global_settings) কে ওভাররাইট করে ।

সুতরাং, আপনি যদি নিজের সেটিংস ফাইলে নির্দিষ্ট না করে কোনও বৈধ জাঙ্গো সেটিং অ্যাক্সেস করার চেষ্টা করেন তবে আপনি একটি ত্রুটি পাবেন।

django.conf.settingsধারণাটি, ডিফল্ট সেটিংস এবং আপনার সাইট-নির্দিষ্ট সেটিংসের বিমূর্ততা তৈরি করা কোনও ফাইল নয়। আপনি যখন ব্যবহার করবেন তখন জ্যাঙ্গো অন্যান্য চেকগুলিও করে from django.conf import settings

আপনি এটি জ্যাঙ্গো ডক্সেও খুঁজে পেতে পারেন ।

আশাকরি এটা সাহায্য করবে.


4
import settingssettings.pyপাওয়া পাইথন নামের প্রথম পাইথন মডিউলটি আমদানি করবে sys.path। এটি "সাইট সংজ্ঞায়িত সেটিংস ফাইল" নাও হতে পারে, যা পরিবেশের ভেরিয়েবল "DJANGO_SETTINGS_MODULE" এ সন্ধান করা হয় এবং এটি কেবল কোনও পাইথন প্যাকেজ বা মডিউল হতে পারে।
ব্রুনো desthuilliers

@ ব্রুনোডেসিউইলিয়ার্স আপনাকে ধন্যবাদ। আপনার সংশোধন সম্পর্কে সচেতন হয়ে আমি আমার উত্তর আপডেট করছি।
জুলিওসার

22

from django.conf import settings ভাল বিকল্প।

আমি একই জ্যাঙ্গো প্রকল্পের জন্য বিভিন্ন সেটিংস ফাইলগুলি ব্যবহার করি (একটি "লাইভ" এর জন্য একটি, "দেব" এর জন্য একটি), প্রথমটি মৃত্যুদন্ড কার্যকর করা একটিকে নির্বাচন করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.