加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

将外部django应用程序合并到项目中并安全地进行本地更改的最佳方

发布时间:2020-12-20 13:20:31 所属栏目:Python 来源:网络整理
导读:我正在开发一个基于 django-lfs的电子商务网站,我发现我需要对django-lfs核心文件进行一些更改…即向模型添加其他属性,更新视图,添加网址模式我开始在我的 pythons site-packages路径中放置django-lfs,认为如果我需要对代码进行任何更改,我会重新定义url模式
我正在开发一个基于 django-lfs的电子商务网站,我发现我需要对django-lfs核心文件进行一些更改…即向模型添加其他属性,更新视图,添加网址模式我开始在我的 pythons site-packages路径中放置django-lfs,认为如果我需要对代码进行任何更改,我会重新定义url模式(在我需要做一些不同的事情的情况下)在视图中)或猴子补丁代码.

这背后的想法是,我能够保持原来的django-lfs主干干净和未触摸,允许我将其更新到最新版本,然后独立更新/测试写入的本地覆盖,子类和猴子补丁.

正如您可能已经猜到的那样,这很快成为管理的噩梦,所以我迫切需要更清洁,更稳定的解决方案.

客户端项目位于git repo中,因此我一直在研究子模块或子树合并策略……从我读过的所有内容中,我发现很难找到任何易于理解的明确答案(我是相对的新的git).

简而言之,我需要能够:

1)在主项目仓库中包含一个外部git存储库
2)直接对外部仓库进行更改(但是将其推送到项目git仓库而不是外部远程源)或创建外部仓库的本地副本,然后定期将外部仓库与复制的文件夹合并.

我不知道如何实现这一目标.要清楚,我想最终得到以下文件夹结构:

> PROJECT_NAME

>媒体
> TRUNK

> APPS

> django-lfs

> EXTERNAL-REPOS

> django-lfs

external-repos文件夹中的lfs应用程序应该能够从官方(外部)django-lfs存储库中下载更新,我应该能够自由地更改存储在APPS文件夹中的lfs文件夹.

我正在寻找的,如果可能的话,是一组git命令/指令来实现上述目的,并利用上面列出的真实文件夹,而不是使用foo和bar引用.

我紧紧地握住我的手指,希望有人可以提供一些建议:)

解决方法

我快速了解一下:要么将项目分配到 bitbucket或 github(取决于您对hg与git的偏好),并为您的更改创建分支.

这样可以更轻松地保持您的分支机构和官方主机同步.

然后,假设您使用pip virtualenv,在pip需求文件中添加指向repo / branch的指针.

不幸的是LFS使用buildout,所以不太确定python setup.py开发的等价物(即在你的virtualenv站点包中安装包,但链接回你的repo,这样你就可以进行更改而不必经常运行设置的.py).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读