मैं django के बारे में एक अन्य जादू की बात समझने की कोशिश कर रहा हूं: यह तारों को मॉड्यूल में परिवर्तित कर सकता है।django स्ट्रिंग को मॉड्यूल में कैसे परिवर्तित करता है
settings.py में, INSTALLED_APPS ऐसे ही घोषित किया जाता है:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
)
सभी इसमें तार है। लेकिन django उन तारों को मॉड्यूल में परिवर्तित कर देगा और बाद में आयात करेगा।
मैं वही काम करने में सक्षम होना चाहता हूं। लेकिन मुझे नहीं पता कि कैसे। मैं settings.py में रेंडरर डिस्पैचर का एक शब्दकोश है:
RESOUCE_RENDERER = {
'video': 'video_player',
'audio': 'audio_player',
}
मैं इस तरह बाद में इसका उपयोग करना चाहते: RESOURCE_RENDERER['video'](MyVideo)
।
मैं सीधे फ़ंक्शन नाम (जैसे video_player) असाइन नहीं कर सकता क्योंकि यह उस मॉड्यूल में रहता है जिसके लिए settings.py की आवश्यकता होती है।
@Ninefingers, इस में मदद मिलेगी, लेकिन मैं कार्यों आयात करने के लिए देख रहा हूँ, केवल मॉड्यूल नहीं। क्या आप जानते हैं कि मैं इसे कैसे प्राप्त कर सकता हूं? – maroxe
मुझे लगता है कि __import__ वह है जिसे मैं – maroxe
देख रहा हूं हां और नहीं। आयात कथन importlib फ़ंक्शंस के लिए एक रैपरराउंड है, जैसे, जब आप मज़ेदार आयात_ मॉड्यूल करते हैं * * ने एक वैरिएबल मॉड्यूल आयात किया है * जैसा कि * आपने "कुछ आयात योग्य" के लिए कहा था। मुझे नहीं लगता कि आप 'परिवर्तनीय नाम' आयात कर सकते हैं लेकिन आप इस पुस्तकालय के माध्यम से कर सकते हैं। अब, एक बार जब आप एक मॉड्यूल आयात कर लेते हैं तो आपके पास सब कुछ तक पहुंच है - मैंने उपरोक्त उदाहरण का विस्तार किया है ताकि कोड फ़ाइल में 'INSTALLED_APPS' तक पहुंचने वाले कोड को शामिल किया जा सके, जैसा आपने क्यू में चर्चा की थी। –