Django yönetim komutları belgeleri, uygulama/yönetim/komutlar klasöründe oluşturulmuş tüm komutları gösterir. Komutları uygulama/yönetim/komutlar/yükleme ve uygulama/yönetim/komutlar/bakım gibi alt klasörlere koymak mümkün mü? Bu nasıl halledilebilir?Django: alt klasörlere bölünmüş yönetim komutları
cevap
Talihsizce, Django 1.4'den itibaren bunu yapmanın bir yolu yok gibi görünüyor. Gördüğünüz gibi
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 []
, sadece herhangi bir alt klasör yok sayarak doğrudan commands
klasörün içindeki dosyaları dikkate alır: django.core.management.__init__.py
için kaynaklar bu yöntemi var. aslında Command
örneğini oluşturur kod olduğundan Ancak, "maymun yama" nasılsa bu fonksiyon, kodun kalan ince çalışması gerekir eğer: Yani
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()
sen olsaydı, bir komut subfolder.command
olarak adlandırdı Doğru komut dosyasını yükler ve doğru sınıfı başlatır. Bununla birlikte, pratik bir bakış açısıyla, bunu kullanmanın hiçbir faydasını görmüyorum. Tabii, "namespace'd" komutlarına sahip olmak güzel olurdu, ancak eğer isterseniz, bir komut ile başka bir şey kullanarak (_
gibi) tüm komutlarınızı istediğiniz zaman bir adla önleyebilirsiniz. Komut adı uzunluğu - ve terminalde onları yazmak için gereken tuş vuruşlarının sayısı aynı olacaktır ...
- 1. Google Cloud SQL'e karşı Django yönetim komutları nasıl çalıştırılır
- 2. django komutları,
- 3. Hata bildirimi django yönetim komutlarından nasıl zorlanır?
- 4. Django django-extensions komutları kullanılamıyor (graph_models)
- 5. Django Model Kalıtım ve Yönetim Sistemi
- 6. Django özel yönetim işlemlerine parametreler ekleyebilir misiniz?
- 7. Django özel yönetim komutu seçeneğini nasıl kullanır?
- 8. Tomcat 6 kitaplıklarını% TOMCAT_HOME%/lib altındaki alt klasörlere nasıl yönetirim?
- 9. Kullanıcının alt klasörlere ve dosyalara erişmesini nasıl reddedebilirsiniz? Yerel makinede
- 10. Django admin, "model" olmadan bölüm? Django yönetim konsolunda
- 11. Farklı klasörlere gitmek için farklı klasörlere gitme işareti
- 12. Bölünmüş
- 13. Alt Sınıflandırma Django ModelForms
- 14. Django: Ek bilgi gerektiren karmaşık bir yönetim eylemi nasıl oluşturulur?
- 15. Bilgisayarımdaki klasörlere erişmek için windows ile aynı os.path kullanarak django kullanabilir miyim?
- 16. kullanıcı yönetim sistemi
- 17. Varlık Yönetim Çerçevesi OptimisticConcurrencyException
- 18. Zincir komutları
- 19. Bölünmüş dize
- 20. JAVA bölünmüş
- 21. Bölünmüş dize
- 22. Java bölünmüş
- 23. Bölünmüş boşluklar
- 24. bölünmüş dizisi
- 25. Bölünmüş sütun
- 26. Bölünmüş Dize
- 27. bölünmüş metin
- 28. Bölünmüş değerler
- 29. Bölünmüş '/' kadar '['
- 30. alt klasörler
Sorununuz hakkında daha fazla bilgi verebilir misiniz? aradığın şey bu mu? https://docs.djangoproject.com/en/dev/howto/custom-management-commands/ – Marat
Uygulama/yönetim/komutların alt klasörlerine komutlar koymak istiyorum. Bu soruya daha fazla ayrıntı ekledim. –