如何使用Django中的manage.py列出所有已安装的应用程序?

15 浏览
0 Comments

如何使用Django中的manage.py列出所有已安装的应用程序?

有些manage.py命令需要Django应用作为参数。有时候我想使用这些命令,但是不记得应用的名称。有没有办法让manage.py提供这样的列表呢?

0
0 Comments

如何使用manage.py在Django中列出所有已安装的应用程序?

在Django中,如果想要列出所有已安装的应用程序,可以采用以下几种方法:

1. 使用命令行管道方式:

$ echo 'import settings; settings.INSTALLED_APPS' | ./manage.py shell
...
>>> ('django.contrib.auth', 'django.contrib.contenttypes', 
     'django.contrib.sessions', 'django.contrib.sites'...]

2. 编写一个自定义命令:

import settings
from django.core.management.base import BaseCommand
class Command(BaseCommand):
    def handle(self, *args, **options):
        print settings.INSTALLED_APPS

3. 以更通用的方式实现:

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 

以上是在Django中列出所有已安装的应用程序的几种方法。

0