将第三方Django应用程序作为git子模型



我知道这是完全可能的,而且很多人已经在这样做,但是我的问题略有不同,我还不能找出解决方案:

让第三方Django应用程序的结构如下:

  • django模块
    • 模块
      • init .py
      • views.py
      • models.py
    • 需求.txt
    • setup.py

我只想将module目录捆绑为子模块,因为我可以通过键入"模块。视图"来访问views.py文件。如果导入django-module目录,则必须编写django-module.module.views访问模块文件,这是不可行的。

我的目的是修改模块并偶尔向原始存储库提出拉请请求。我可以遵循的工作流程,还是为此目的的最佳实践?

pip提示

pip支持使用git的可编辑软件包和检索包裹,因此您可以创建一个Virtualenv,使用PIP安装软件包,并在需要时使用PIP更新它们。

因此您可以添加:

-e git://git.myproject.org/MyProject.git@da39a3ee5e6b4b0d3255bfef95601890afd80709#egg=MyProject

到您的requirements.txt检索确切的提交。


建议的工作流

我认为解决您的问题的最佳方法是:

  • 制作包裹的私人叉
  • 在分叉存储库的特定开发分支中编辑软件包
  • 在您的需求文件中使用叉子开发分支的软件包。

  • 当您感觉到时,请更新使用PIP的分叉软件包。

  • 当您准备提出拉动请求,拉动来源,将工作分支重新为Origin/Master,并从叉子的主分支中提出拉请请求。

这意味着您有三个存在代码的地方:

  • 原始仓库(您无法访问)
  • 您的分叉仓库(您在叉子上工作的地方)
  • 无论pip安装在何处(您使用叉子的位置)

最好的做法是将子模型完全保持原样。

您将第三方模块添加到应用程序的子模块中,下一步就是确保将" Django-Module"目录添加到Python路径中。只要Django模块在您的python路径上,您就可以按照您的意愿通过键入" module.Views"来使用子模块。

相关内容

  • 没有找到相关文章

最新更新