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

yan*_*nko 4 django distribution

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

Jos*_*ogi 5

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

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

如果您已经运行了django项目并且想要在许多其他项目中重用这些可插拔应用程序,那么第一种方法很方便.如果您要构建非单一的Web应用程序或内部应用程序/网站或可重用的应用程序,这非常好.如果您自己管理项目和可插拔应用程序,这也很方便.如果您想通过这种方法向客户销售应用程序,那将是一种不方便(在某种程度上),因为您的项目和可插拔应用程序位于不同的目录中.有人说他们对这种方法没有任何问题.

如果您将应用程序销售给客户端,第二种方式会更方便,因为所有应用程序都在您的项目中,而您只能在客户端提取项目.这种风格通常被称为单片风格.Java EE和Ruby on Rails具有单一的部署风格.当您在客户端时,您不需要逐个安装"可插拔应用程序"(假设您的项目中没有使用任何外部可插拔应用程序).但是,如果你想在项目中重用那些小应用程序,你会遇到一些问题.如果您没有计划重新使用这些小应用程序,那么这种方式就足够了.