修改第三方django项目

时间:2015-01-01 21:02:44

标签: django git github

我到了使用许多第三方应用程序的地步,但我需要扩展它们。我试图找出修改现有应用的最佳方法。在过去,我刚刚修改了站点包中的代码(知道它很糟糕),但这有明显的缺陷。

现在我能得到的最接近的是分叉github仓库,然后我在我的项目中创建了一个应用程序,我连接到分叉的github仓库。

问题是,我所要求的是项目,而不是应用程序。所以这意味着我有一个类似的结构:project / app-project / app after fork。其他东西也在app-project目录中,例如LICENSE,AUTHORS等。

Project
--App1
----Code
--App2
----Code
--ForkedAppProject
----LICENCE
----AUTHORS
----ForkedApp
------Code

如果我只是将代码放在App目录中,我可以对其进行修改,但是我失去了项目的所有源代码控制权(许可证,作者等),这种情况会破坏分叉的目的开源应用程序。

我想设置它以便我修改应用程序代码,但我正在修改,以便我的更改可以为开源项目做出贡献。

2 个答案:

答案 0 :(得分:1)

没有必要将forked app放在项目中。分叉和修改后,您可以将ForkedApp文件夹添加到PYTHONPATH,或者像这样构建自己的包

python setup.py sdist

然后将其安装在您的system / virtualenv中并更新INSTALLED_APPS

答案 1 :(得分:0)

最简单,最方便的方法是使用pip --editable选项。请参阅pip文档中的“Editable” Installs