Django:大量定制第三方应用程序时的最佳实践

时间:2015-08-24 08:10:36

标签: python django django-apps

假设我想大量定制第三方Django应用程序,例如django-postman(添加大量新模型,视图以及修改现有的等等)。最好的方法是什么?

我考虑的选项:

  1. 分叉第三方回购。在我的django项目之外在本地克隆。做更新,将它们推送到分叉的回购。将我自己的fork安装到我的venv(并添加到我的requirements.txt)中,用于我的django项目。

  2. 只需克隆到我的django项目的vendors文件夹,在那里更新第三方应用程序,然后将其保存在与django项目相同的git仓库中。

  3. 无论哪种方式,我担心将不再从主要的第三方回购获得更新(错误修复,新功能等),或者如果我合并到fork(更改批次之后),这可能是一个非常令人头痛的问题。

    我是否以最佳方式思考这个问题?有更聪明的方法吗?其他人通常做什么?

2 个答案:

答案 0 :(得分:0)

我会考虑离开第三方应用并尝试在项目内部进行自定义。如果这不可能,并且需要大量自定义,那么您可能还有其他正在使用的应用程序吗?

除此之外,我会选择第一个选项。但是你的担忧是有原因的。如果您决定自己创建fork,则还需要处理错误和修复。但是,使用第一个选项,我认为将原始内容合并到fork中会更容易。但不要忘记关注点的分离。否则将很难维护。

答案 1 :(得分:-1)

如果您所做的更改未改变第三方应用的运行方式,但更像是为该应用添加新功能或其他方式,请考虑与该应用的autor联系以实施对其的更改。这样,在更新此应用程序时,您将减少很多工作。