我如何打包一个具有其他 django 模块作为依赖项的 django 模块?

问题描述 投票:0回答:0

我正在开发一个 django 模块,它能够创建 UI 界面来查询数据存储库。该模块有一个管理界面来配置对数据存储库的访问。为此,它使用了其他几个 django 模块,例如

crispy_forms
.

按照 https://docs.djangoproject.com/en/4.1/intro/reusable-apps/ 的教程,我创建了一个模块并将其上传到 test.pypi.org。我可以添加模块依赖项,并且在安装我的模块时,

crispy_forms
和所有其他依赖项都已安装。这一切都很好。

但是:为了使用我的模块,用户需要对

settings.py
urls.py
文件进行大量更改。不仅我的模块必须在 INSTALLED_APPS 中,而且我的依赖项也必须。此外,要使用
crispy_forms
,我需要指定一个
CRISPY_TEMPLATE_PACK
设置。我一直希望此设置为“bootstrap4”并且用户不必知道此设置。

所以我的问题是:有没有一种方法可以包含我的模块来处理这些依赖关系?

我需要在

settings.py
中拥有的东西:

INSTALLED_APPS = [
    'my_module',
    'django_tables2',
    'crispy_forms',
    [...]
]

CRISPY_TEMPLATE_PACK = 'bootstrap4'
DJANGO_TABLES2_TEMPLATE = "django_tables2/bootstrap4.html"

我想要什么

settings.py

INSTALLED_APPS = [
    'my_module',
    [...]
]

有办法实现吗?如果我需要在 INSTALLED_APPS 中列出所有使用的模块,那就这样吧,但我真的很想避免用户必须指定他们不应该更改的设置。

python django deployment dependency-management
© www.soinside.com 2019 - 2024. All rights reserved.