假设我想大量自定义第三方 Django 应用程序,例如 django-postman(添加大量新模型、 View 以及修改现有模型等)。最好的方法是什么?
我考虑过的选项:
fork 第 3 方存储库。在我的 django 项目之外本地克隆。进行更新,将它们推送到 fork 的仓库。为我的 django 项目将我自己的 fork 安装到我的 venv(并添加到我的 requirements.txt)中。
只需克隆到我的 django 项目的
vendors文件夹中,在那里更新第 3 方应用程序,然后将其保存在与 django 项目相同的 git 存储库中。
无论哪种方式,我都担心不再从主要的第 3 方存储库中获取更新(错误修复、新功能等),或者如果我合并到分支中(在更改很多之后),这可能会很头疼。
我是否以最好的方式思考这个问题?有更聪明的方法吗?其他人通常做什么?
请您参考如下方法:
我会考虑离开第 3 方应用程序并尝试在项目内部进行自定义。如果这不可能,并且需要大量自定义,也许您正在使用的应用程序有替代方案?
除此之外,我会选择您的第一个选项。但你的担心是有原因的。如果您决定制作自己的 fork ,则还需要处理错误和修复。但是,对于第一个选项,我认为将原件合并到您的 fork 中会更容易。但是不要忘记关注点分离。否则将很难维护。
