首页 > 解决方案 > 如何配置 django 独立应用程序以自动安装所有子应用程序?

问题描述

问题描述

我有名为 .django 的独立应用程序django_codeserver。它可以作为 pip 包从我的私有包注册表中加载。

我的应用程序包含大约二十个子应用程序,例如django_codeserver.headersdjango_codeserver.genders

当前行为

要在我的项目中注册所有使用 的模型django_codeserver,我必须在父项目中注册所有子应用程序,INSTALLED_APPS例如:

    INSTALLED_APPS = [
        ...
        'django_codeserver.headers',
        'django_codeserver.genders'
        ...
    ]

首选行为

我只希望在父项目中注册所有子应用程序:

  1. 将独立的 django 应用程序安装为 pip-package (pip install django-codeserver)
  2. 仅在父项目安装的应用中注册父应用:
    INSTALLED_APPS = [
        'django_codeserver
    ]

标签: pythondjangopip

解决方案


在研究了这个问题后,我找不到确切的解决方案。但是,我们可以像这里指出的那样处理这个问题。

因此我们无法自动安装子应用程序,而是可以重用包含所有子应用程序的应用程序,而无需直接将所有应用程序写入父项目 INSTALLED_APPS 中。

这样,可重用的应用程序安装文档在添加新的子应用程序后不会改变。此外,包含的子应用程序的维护从可重用应用程序消费者转移到其提供者。


推荐阅读