在Java世界中,分发Web应用程序的常用方法是将其与Apache Tomcat一起打包。 用Django(或任何WSGI应用程序)实现类似的东西的适当方法是什么?
答案 0 :(得分:5)
在django中有两个分发应用程序的阵营。它还取决于 apps 的含义。
如果您已经运行了django项目并且想要在许多其他项目中重用这些可插拔应用程序,那么第一种方法很方便。如果您要构建非单一的Web应用程序或内部应用程序/网站或可重用的应用程序,这非常好。如果您自己管理项目和可插拔应用程序,这也很方便。如果您想通过这种方法向客户销售应用程序,那将是一种不方便(在某种程度上),因为您的项目和可插拔应用程序位于不同的目录中。有些人说他们对这种方法没有任何问题。
如果您将应用程序销售给客户端,第二种方式会更方便,因为所有应用程序都在您的项目中,而您只能在客户端提取项目。这种风格通常被称为单片风格。 Java EE和Ruby on Rails具有单一的部署风格。当您在客户端时,您不需要逐个安装“可插拔应用程序”(假设您的项目中没有使用任何外部可插拔应用程序)。但是,如果你想在项目中重用那些小应用程序,你会遇到一些问题。如果您没有计划重新使用这些小应用程序,那么这种方式就足够了。
答案 1 :(得分:2)
setuptools是分发任何Python包的常用方法,包括Django应用程序,并且许多更实质的Django应用程序(Pinax会想到)将通过cheeseshop分发或者使用setuptools生成的setup.py
文件作为tarball或zip文件。
不太重要的可重复使用的应用程序将仅作为压缩文件进行分发,它们可以正常工作highly portable。
答案 2 :(得分:0)
django应用程序与python模块没有太大区别,你可以使用python的setuptools
进行打包。