我是 django 新手,我的第一个项目是我的博客。我想知道使用 pydev 的 django 开发人员通常如何与远程托管服务器同步,更新他们的站点?
我还想知道,如何将 git 的使用与 django 项目结合起来?我应该为整个项目创建一个存储库吗?
最佳答案
在我的公司,我们为每个项目都有一个完整的 git 存储库,包括放入每个项目的 PYTHONPATH
中的 Django 源代码,使 Django 版本与项目相关。文件夹结构类似于:
/.git
/projectname/app1
/projectname/app2
/projectname/manage.py
/django-lib/django/...
由于django-lib
不是Python模块,因此我们在PYTHONPATH
中包含/和/django-lib。如果您的项目变得很大,您可能需要考虑使用 git submodules在您的应用程序上。
我们还设置了多台服务器来支持开发人员。有一个测试服务器运行一个中央测试数据库和一个包括带有 WSGI 的 Apache 的设置,以便可以在真实服务器上进行测试,这有时与开发人员在提交他们的代码之前使用的本地 manage.py
有所不同。变化。
测试服务器已使用我们的 git 存储库的 master 分支进行更新。我们制作了几个脚本,允许所有开发人员执行此操作,而无需让他们通过 SSH 登录服务器,但这只是在预发布期间。发布后,该服务器将成为我们的登台服务器,我们将从其中删除所有脚本,使其就像我们的生产服务器一样。
每个开发人员都设置了他们的本地项目,以确保它与包含多个测试数据的中央测试数据库进行通信。我自己从命令行推送我的更改,但您也可以使用 EGit为此。
当我们发布一个版本时,我们将其放在一个单独的分支中,称为“release”(显然),并且生产服务器将仅从该分支中提取。这是通过 SSH 完成的,但我真的不知道你的服务器设置是什么样的,所以我想最后一步完全取决于你。
希望这对您有一点帮助。我不会说这是最好的工作流程,但它对我们有用,您应该弄清楚什么对您有用。
关于django - Pydev + Django 工作流程。本地(测试)+远程同步。将 git 与 django 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4580657/