Django प्रबंधन कमांड दस्तावेज सभी आदेशों को ऐप/प्रबंधन/कमांड फ़ोल्डर में बनाया जा रहा है। क्या आदेशों को उपफोल्डर्स में रखना संभव है, जैसे ऐप/प्रबंधन/कमांड/इंस्टॉल और ऐप/प्रबंधन/कमांड/रखरखाव? यह कैसे किया जाएगा?Django: स्प्लिट प्रबंधन कमांडर्स में विभाजित
उत्तर
दुर्भाग्य से, Django 1.4 के रूप में ऐसा करने का कोई तरीका नहीं लगता है।
def find_commands(management_dir):
"""
Given a path to a management directory, returns a list of all the command
names that are available.
Returns an empty list if no commands are defined.
"""
command_dir = os.path.join(management_dir, 'commands')
try:
return [f[:-3] for f in os.listdir(command_dir)
if not f.startswith('_') and f.endswith('.py')]
except OSError:
return []
आप देख सकते हैं, यह केवल फाइलों पर विचार करता है सीधे commands
फ़ोल्डर के अंदर, उप-अनदेखी: django.core.management.__init__.py
के लिए सूत्रों का कहना है इस विधि की है। हालांकि, अगर आप "बंदर पैच" इस समारोह किसी भी तरह, कोड के बाकी ठीक काम करना चाहिए, के बाद से कोड है कि वास्तव में Command
उदाहरण बनाता है यह है:
def load_command_class(app_name, name):
"""
Given a command name and an application name, returns the Command
class instance. All errors raised by the import process
(ImportError, AttributeError) are allowed to propagate.
"""
module = import_module('%s.management.commands.%s' % (app_name, name))
return module.Command()
इसलिए, यदि आप था एक कमांड subfolder.command
यह नामित सही स्क्रिप्ट लोड करेगा और सही वर्ग को तुरंत चालू करेगा।
एक व्यावहारिक दृष्टिकोण से, हालांकि, मुझे ऐसा करने का कोई उपयोग नहीं दिखता है। निश्चित रूप से, "नेमस्पेस" आदेश होने से अच्छा होगा, लेकिन यदि आप चाहते हैं, तो आप किसी भी नाम के साथ अपने सभी आदेशों को हमेशा उपसर्ग कर सकते हैं, जैसे किसी विभाजक के रूप में कुछ और (_
)। आदेश नाम की लंबाई - और टर्मिनल में टाइप करने के लिए आवश्यक कीस्ट्रोक की संख्या - वही होगी ...
- 1. स्प्लिट पेपैल भुगतान दो खातों में विभाजित करें
- 2. Django लेनदेन प्रबंधन
- 3. स्प्लिट
- 4. स्प्लिट()
- 5. स्प्लिट सूची
- 6. सी # स्प्लिट स्ट्रिंग लेकिन विभाजित वर्ण/विभाजक रखें
- 7. पोर्ट्रेट मोड में स्प्लिट व्यू!
- 8. फ्रेम में जीआईएफ स्प्लिट
- 9. स्प्लिट मूल्यों
- 10. स्प्लिट शब्द
- 11. वर्टिकल स्प्लिट
- 12. स्प्लिट रूबी
- 13. स्प्लिट सी में एक सरणी ++
- 14. जावास्क्रिप्ट स्प्लिट रेगेक्स प्रश्न
- 15. रिशेर्पर स्प्लिट स्ट्रिंग शाब्दिक
- 16. स्ट्रिंग # स्प्लिट
- 17. PHP: स्प्लिट स्ट्रिंग
- 18. स्प्लिट NSString व्हाइटस्पेस
- 19. स्प्लिट कई पात्रों
- 20. शब्दों में स्प्लिट स्ट्रिंग
- 21. Emacs स्प्लिट स्थापना
- 22. स्प्लिट अल्पविराम नई पंक्तियाँ
- 23. स्प्लिट पहले से जावा में स्ट्रिंग पाया
- 24. 512 चार हिस्सों में स्प्लिट स्ट्रिंग
- 25. स्प्लिट स्ट्रिंग, संख्या
- 26. स्प्लिट ने हडोप
- 27. वैकल्पिक शब्दों में स्प्लिट स्ट्रिंग (स्कैला)
- 28. पाइथन स्प्लिट पथ रिकर्सिवली
- 29. भागो कोड किसी भी Django प्रबंधन कमांड
- 30. कस्टम प्रबंधन आदेशों के Django लॉगिंग
क्या आप अपनी समस्या पर अधिक जानकारी दे सकते हैं? क्या आप यही खोज रहे हैं? https://docs.djangoproject.com/en/dev/howto/custom-management-commands/ – Marat
मैं आदेशों को ऐप/प्रबंधन/कमांड के सबफ़ोल्डर में रखना चाहता हूं। मैंने प्रश्न में और विस्तार जोड़ा है। –