2015-03-06 8 views
5

ऐसा लगता है कि Django स्टार्टअप पर कोड निष्पादित करने की अनुमति देता है - जब ऐप शुरू होता है, हालांकि, यह स्पष्ट नहीं है और मुझे कोड कहां रखना चाहिए। तो मैं Django 1.7 में स्टार्टअप पर कोड कैसे निष्पादित कर सकता हूं?Django में स्टार्टअप पर कोड निष्पादित करना 1.7

+0

"स्टार्टअप" से आपका क्या मतलब है? जब वास्तव में क्या शुरू होता है? – rnevius

+0

@Rnevius, आवेदन। –

उत्तर

11

Django> = 1.7 के लिए आप AppConfig.ready() कॉलबैक का उपयोग कर सकते हैं:

https://docs.djangoproject.com/en/dev/ref/applications/#django.apps.AppConfig.ready

पिछले संस्करणों के लिए, this answer देखते हैं।

1) एक myapp/apps.py मॉड्यूल बनाएँ और AppConfig उपवर्ग:

आप AppConfig.ready() विधि का उपयोग कर रहे हैं। उदाहरण के लिए:

from django.apps import AppConfig 

class MyAppConfig(AppConfig): 
    name = 'myapp' 
    def ready(self): 
    ... 

2) संपादित करें myapp/__init__.py और अपने अनुप्रयोग config रजिस्टर:

default_app_config = 'myapp.apps.MyAppConfig' 

जानकारी के लिए https://docs.djangoproject.com/en/1.7/ref/applications/#configuring-applications देखें।

+0

यह अभी भी स्पष्ट नहीं है। मुझे इसे किस फाइल में रखना चाहिए? क्या मुझे AppConfig से मेरी कक्षा का उत्तराधिकारी होना है? क्या आप मुझे एक उदाहरण दिखा सकते हैं? –

+0

हां, आप अपने एप्लिकेशन के पैकेज में मॉड्यूल में 'AppConfig' कक्षा का विस्तार करेंगे। उदाहरण के कार्यान्वयन के लिए यह उत्तर देखें: http://stackoverflow.com/a/22924754/2011147 – Selcuk

+0

अभी भी स्पष्ट नहीं है। 'Signals.py' नाम की फ़ाइल क्यों है, इसे कहां रखा गया है? –

संबंधित मुद्दे