我已经创建了一个与django一起使用的包,其主要功能可以通过管理命令访问。但是,为了使管理命令可访问,django似乎坚持将包列为INSTALLED_APPS
settings.py
中的应用程序。
此应用程序仅在进行整合测试时用作构建过程的一部分。它甚至不需要安装在开发人员机器上,更不用说最终进入我们的生产环境。但是,由于它需要安装在settings.py
已安装的应用中,因此它也会传播到requirements.txt
,因为它会在未安装的地方突然中断构建。
有没有办法在没有将软件包作为一个成熟的应用程序安装的情况下注入管理命令?
或者:是否有一种标准/推荐的方式以不同于管理命令的方式向tox
提供命令?
答案 0 :(得分:0)
一种解决方案是为构建过程设置单独的settings.py,将包含此命令的应用程序添加到INSTALLED_APPS。然后你可以运行manage.py mycommand --settings=build_settings
或其他任何内容。
设置文件本身可以简单如下:
from main_settings import *
INSTALLED_APPS += ['myapp']