मैं अभी Django 1.9 के लिए अल्फ़ा रिलीज़ नोटों पर गया था और देखा कि startappप्रबंधन कमांड अब एक apps.py फ़ाइल जोड़ता है ।
इस फ़ाइल का उद्देश्य क्या है? Startapp प्रलेखन अधिक जानकारी उपलब्ध नहीं कराई।
मैं अभी Django 1.9 के लिए अल्फ़ा रिलीज़ नोटों पर गया था और देखा कि startappप्रबंधन कमांड अब एक apps.py फ़ाइल जोड़ता है ।
इस फ़ाइल का उद्देश्य क्या है? Startapp प्रलेखन अधिक जानकारी उपलब्ध नहीं कराई।
जवाबों:
apps.pyफ़ाइल का उद्देश्य :
यह फ़ाइल उपयोगकर्ता को ऐप के लिए किसी भी एप्लिकेशन कॉन्फ़िगरेशन को शामिल करने में मदद करने के लिए बनाई गई है । इसका उपयोग करके, आप एप्लिकेशन की कुछ विशेषताओं को कॉन्फ़िगर कर सकते हैं।
से Application Configurationप्रलेखन:
अनुप्रयोग कॉन्फ़िगरेशन ऑब्जेक्ट किसी अनुप्रयोग के लिए मेटाडेटा संग्रहीत करते हैं। कुछ विशेषताओं को AppConfig उपवर्गों में कॉन्फ़िगर किया जा सकता है। दूसरों को Django और केवल पढ़ने के लिए निर्धारित कर रहे हैं।
आओ हम कहते हैं कि आप एक प्लग करने योग्य ऐप बना रहे हैं "Rock ’n’ roll", फिर व्यवस्थापक के लिए एक उचित नाम प्रदान करने के लिए हम निम्नलिखित कार्य कर सकते हैं:
में rock_n_rollअनुप्रयोग, हम एक बनाने RockNRollConfigAppConfig वर्ग।
#rock_n_roll/apps.py
from django.apps import AppConfig
class RockNRollConfig(AppConfig): # Our app config class
name = 'rock_n_roll'
verbose_name = "Rock ’n’ roll"
हम फ़ाइल में AppConfigनिर्दिष्ट करके आपके एप्लिकेशन को डिफ़ॉल्ट रूप से इस उपवर्ग को लोड कर सकते हैं ।default_app_configrock_n_roll/__init__.py
# rock_n_roll/__init__.py
default_app_config = 'rock_n_roll.apps.RockNRollConfig'
ऐसा RockNRollConfigकरने का उपयोग तब किया जाएगा जब INSTALLED_APPSइसमें शामिल होगा 'rock_n_roll'। यह हमें AppConfigअपने उपयोगकर्ताओं को उनकी INSTALLED_APPSसेटिंग को अपडेट करने की आवश्यकता के बिना सुविधाओं का उपयोग करने की अनुमति देता है ।
without requiring our users to update their INSTALLED_APPS setting.: इसका क्या अर्थ है: मूल रूप से अगर मैं नहीं करता हूं default_app_config = 'rock_n_roll.apps.RockNRollConfig'तो मुझे INSTALLED_APPS में उल्लेख करना होगाdefault_app_config = 'rock_n_roll.apps.RockNRollConfig'
यह आपके एप्लिकेशन कॉन्फ़िगरेशन को डालने के लिए अनुशंसित स्थान है । यह सुविधा 1.7 के बाद से यहां है, लेकिन इसके उपयोग को बढ़ावा देने और आसान कॉन्फ़िगरेशन को सक्षम करने के लिए, apps.pyफ़ाइल को डिफ़ॉल्ट ऐप टेम्पलेट में जोड़ा गया है।