Некоторые команды manage.py
принимают приложения Django в качестве аргументов. Иногда я хочу использовать эти команды, но не могу запомнить имя приложения. Есть ли способ получить manage.py для предоставления такого списка?
Как перечислить все установленные приложения с помощью manage.py в Django?
Ответ 1
не готов, но вы можете использовать трубку:
$ echo 'import settings; settings.INSTALLED_APPS' | ./manage.py shell
...
>>> ('django.contrib.auth', 'django.contrib.contenttypes',
'django.contrib.sessions', 'django.contrib.sites'...]
или напишите небольшую пользовательскую команду:
import settings
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self, *args, **options):
print settings.INSTALLED_APPS
или более общим образом:
import settings
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self, *args, **options):
print vars(settings)[args[0]]
$ ./manage.py get_settings INSTALLED_APPS
('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions',
'django.contrib.sites', ...]
$ ./manage.py get_settings TIME_ZONE
America/Chicago