我正在开发一个 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 中列出所有使用的模块,那就这样吧,但我真的很想避免用户必须指定他们不应该更改的设置。