Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以跨应用程序维护可重用的django*项目*?_Python_Django_Git - Fatal编程技术网

Python 是否可以跨应用程序维护可重用的django*项目*?

Python 是否可以跨应用程序维护可重用的django*项目*?,python,django,git,Python,Django,Git,我正试图决定,在“可重用应用程序”下面,维护一个可重用的裸项目设置是否可行 另一方面:只要我有(数据)备份和蓝图(在我的例子中是saltstack,但它也可能是puppet、chef或其他东西),我就可以摧毁我的任何服务器并在短短几个小时内重建它 使用灵活的infra,以下是部署步骤: 为django应用程序创建virtualenv 签出我的项目(始终命名为项目) 我的项目包含setup.py。这将设置环境: 基于yaml数据和模板的渲染设置文件 可能在需要时加载固定装置 在生产环境中,它呈

我正试图决定,在“可重用应用程序”下面,维护一个可重用的裸项目设置是否可行

另一方面:只要我有(数据)备份和蓝图(在我的例子中是saltstack,但它也可能是puppet、chef或其他东西),我就可以摧毁我的任何服务器并在短短几个小时内重建它

使用灵活的infra,以下是部署步骤:

  • 为django应用程序创建virtualenv
  • 签出我的项目(始终命名为项目)
  • 我的项目包含setup.py。这将设置环境:
    • 基于yaml数据和模板的渲染设置文件
    • 可能在需要时加载固定装置
    • 在生产环境中,它呈现apache配置
  • 之后,作为git子模块,您可以插入可重用的应用程序,以运行webapplication结束
由于在裸露的项目基础结构中构建了相当多的智能,我最终提出了我最初的问题

我想知道项目基线是否可以作为一个跨(Web)应用程序来维护,比如git repo。或者项目结构本身是否有许多与(Web)应用程序整体相关的特定活动部分

例如:可插拔应用程序进入已安装的应用程序等,最终总是会产生大量相关/变化的数据


希望一切都清楚。期待您的评论

正如所建议的那样,一种可能性是对项目进行模板化,这可能就足够了。但是,模板化项目将导致每个项目的起点不同。由于模板会随着时间的推移而演变,因此没有一个项目会启动相同的模板

只有当你作为一家(开发)公司足够大并且正在建立足够多的不同项目时,在你所有的项目中都有一个基线似乎才值得追求。在这种情况下,基线可以是添加到django项目中的自定义python egg或附加django应用程序。这样的应用程序可以实施部署策略或帮助维持基础设施依赖性

例如,传播/配置有关基础结构或其他服务的服务器信息。想想数据库、存储、身份验证服务和其他后端。当移动到不同的内部存储后端或其新的API版本时,您的应用程序可以平滑过渡。如果您尚未向项目中添加(可重复使用)应用程序以专门将项目连接到存储服务

因此,简言之,我认为我自己问题的答案是:


是的,尽可能为此创建可重用的应用程序,但始终确保解决方案不会比问题更大。

这是非常常见的,而且完全受支持,事实上:您可能可以使用
cookiecutter
来完成这一点。Thanx用于指针!:)。。。基于模板呈现项目时,即项目“分叉”(出生)到其自身实体的点。因此。。。当基于较新的模板生成项目时,当我也想更新以前发布的实时项目时,是否可以避免重复我自己(复制/粘贴或其他)?