有没有一种快速的方法来判断一个应用程序是否在Django的INSTALLED_APPS中?

Gab*_*ley 4 python django

我正在写一个快速的Django模块,想要检查另一个模块.是否有快捷方式检查INSTALLED_APPSDjango设置中的另一个模块是否在列表中?

ine*_*rte 8

from settings import INSTALLED_APPS
if 'appname' in INSTALLED_APPS:
    print 'we have app'
Run Code Online (Sandbox Code Playgroud)

这种方式在某种程度上与Django本身有关.还要检查load_app链接页面上的方法.


Eug*_*ash 7

Django 包含已安装应用程序的注册表,您可以将其用于此目的:

>>> from django.apps import apps
>>> apps.is_installed("django.contrib.admin")
True
Run Code Online (Sandbox Code Playgroud)

  • 我会选择这个答案。因为 INSTALLED_APPS 永远不应该被直接访问。https://docs.djangoproject.com/en/3.0/ref/settings/#installed-apps (2认同)