2012-07-08 10 views
12

से किसी ऐप को कैसे हटाएं आरंभ में मैंने Django में एक ही प्रोजेक्ट में 2 ऐप्स (app_a और app_b) किए। अब मैं एक को हटाना चाहता हूं (app_a कहें)। मुझे ऐसा कैसे करना चाहिए? सेटिंग फ़ाइल में INSTALLED_APPS से ऐप का नाम हटा रहा है?django प्रोजेक्ट

उत्तर

27

आप हटाने या निम्न जांच करने की आवश्यकता:

  • INSTALLED_APPS से ऐप्लिकेशन निकालें।
  • उस ऐप के मॉडल के लिए किसी डेटाबेस डेटाबेस को निकालें (अपने डेटाबेस में app_name_model_name देखें)।
  • अन्य ऐप्स में किसी भी आयात के लिए जांचें (यह हो सकता है कि वे उस ऐप से कोड आयात कर रहे हों)।
  • टेम्पलेट्स की जांच करें यदि वे उस ऐप के किसी भी टेम्पलेट टैग का उपयोग कर रहे हैं (यदि उस ऐप में अब कोई त्रुटि नहीं है तो त्रुटियां उत्पन्न होंगी)।
  • यह देखने के लिए कि क्या आप उस ऐप से किसी भी कोड का उपयोग नहीं कर रहे हैं (जैसे कि your_app/context_processors.py में एक संदर्भ प्रोसेसर, जैसे कि फ़ाइल है) देखने के लिए अपनी सेटिंग्स फ़ाइल जांचें।
  • जांचें कि ऐप की कोई भी स्थिर सामग्री अन्य ऐप्स में उपयोग की जाती है या नहीं।
  • पूरी तरह से ऐप निर्देशिका हटाएं।

जब आप उचित कोडिंग सिद्धांतों का पालन कर रहे हैं (यानी, प्रत्येक Django ऐप वेब अनुप्रयोग का स्वयं निहित हिस्सा है) तो ऊपर की अधिकांश स्थितियां नहीं होंगी। लेकिन जब अन्य ऐप्स उस ऐप के कुछ हिस्सों का उपयोग करते हैं, तो आपको पहले इसे जांचना होगा क्योंकि ऐप को हटाने से पहले इसे रीफैक्टरिंग की आवश्यकता हो सकती है।

+1

हाय शिमोन, चेकलिस्ट के लिए धन्यवाद! :-) –

+5

django_contet_type, auth_permission और अन्य ऑथ टेबल के बारे में क्या है (यदि आवश्यक हो तो django_migration के अलावा)? – toscanelli

+1

यह उत्तर इस अन्य पूरक है: https://stackoverflow.com/questions/35745220/how-to-remove-an-app-from-a-django-projects-and-all-its-tables (जो auth_permission का उल्लेख करता है और अन्य टेबल) – elias

0

यह ऐप पर निर्भर करता है (यह कैसे स्थापित किया गया था, इसका उपयोग कैसे किया गया था, आदि) लेकिन आमतौर पर आप INSTALLED_APPS से ऐप को हटा सकते हैं और फिर डेटाबेस में अपनी टेबल हटा सकते हैं।

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