创建可再发行的django应用程序

时间:2009-09-22 00:01:57

标签: django distribution

在Java世界中,分发Web应用程序的常用方法是将其与Apache Tomcat一起打包。 用Django(或任何WSGI应用程序)实现类似的东西的适当方法是什么?

3 个答案:

答案 0 :(得分:5)

在django中有两个分发应用程序的阵营。它还取决于 apps 的含义。

  1. 如果你的意思是一个应用程序是django术语,就像在与项目分离的“可插拔应用程序”中那么,那么最好使用setuptools打包那些“可插拔应用程序”。许多django'可插拔应用程序'都是这样发布的。例如:
  2. 但是,如果您的意思是应用程序是一个完整的应用程序(整个战争文件),就像在Java EE术语中那样,那么您可以将所有应用程序放在项目中,并且您只需以任何形式分发项目。通常你会拉链。您不需要使用setuptools或其他任何方式安装它,因为您将从项目文件夹运行项目。这个阵营的例子是:
  3. 如果您已经运行了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进行打包。