Django - आयात django.conf.settings और आयात सेटिंग्स के बीच अंतर


99

Django ऐप में निम्नलिखित आयात कथनों के बीच बुनियादी अंतर क्या है?

import settings

तथा

from django.conf import settings

1
+1 क्योंकि यह एक बहुत ही दिलचस्प सवाल है कि कौन Django के विकास के लिए नया है।

जवाबों:


134
import settings

आपके Django प्रोजेक्ट के सेटिंग (.py) मॉड्यूल को आयात करेगा (यदि आप अपने कोड के "रूट" पैकेज से यह कोड लिख रहे हैं, तो)

from django.conf import settings

Django.conf पैकेज से सेटिंग ऑब्जेक्ट आयात करेगा (Django की प्रदान की गई फ़ाइलें)। यह महत्वपूर्ण है , क्योंकि

[..] ध्यान दें कि आपका कोड global_settings या अपनी स्वयं की सेटिंग फ़ाइल से आयात नहीं करना चाहिए। django.conf.settings डिफ़ॉल्ट सेटिंग्स और साइट-विशिष्ट सेटिंग्स की अवधारणाओं को सार करता है; यह एक एकल इंटरफ़ेस प्रस्तुत करता है। यह उस कोड को भी डिकूप करता है जो आपकी सेटिंग्स के स्थान से सेटिंग का उपयोग करता है।

अद्यतन: यदि आप कुछ स्वयं की सेटिंग्स को परिभाषित करना चाहते हैं, तो प्रलेखन के इस भाग को देखें


4
FYI करें, Global_settings django.conf पैकेज के अंदर एक और मॉड्यूल है। जैसा कि प्रलेखन कहता है, इसका उपयोग न करें।

3
ध्यान दें कि from django.conf import settingsयदि आप इकाई परीक्षण के दौरान भी सेटिंग्स को ओवरराइट करना चाहते हैं तो महत्वपूर्ण है।
जॉरिस

4
यह भी ध्यान दें कि सभी सेटिंग्स नाम ऊपरी मामले में होने चाहिए । है यही कारण है कि, यदि आपका एक वर है my_varअपनी सेटिंग में तो यह असफल हो जायेगी: from django.conf import settings... settings.my_var। लेकिन अगर आप इसका नाम लेंगे MY_VARतो यह सफल होगा!
nik_m
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.