Django 1.9 में apps.py का उद्देश्य क्या है?


132

मैं अभी Django 1.9 के लिए अल्फ़ा रिलीज़ नोटों पर गया था और देखा कि startappप्रबंधन कमांड अब एक apps.py फ़ाइल जोड़ता है

इस फ़ाइल का उद्देश्य क्या है? Startapp प्रलेखन अधिक जानकारी उपलब्ध नहीं कराई।

जवाबों:


136

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सेटिंग को अपडेट करने की आवश्यकता के बिना सुविधाओं का उपयोग करने की अनुमति देता है ।


अफसोस की बात है कि मुझे आपका जवाब नहीं मिला
hspandher

2
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'
संतोष Yedidi

15

यह आपके एप्लिकेशन कॉन्फ़िगरेशन को डालने के लिए अनुशंसित स्थान है । यह सुविधा 1.7 के बाद से यहां है, लेकिन इसके उपयोग को बढ़ावा देने और आसान कॉन्फ़िगरेशन को सक्षम करने के लिए, apps.pyफ़ाइल को डिफ़ॉल्ट ऐप टेम्पलेट में जोड़ा गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.