2017-04-26 63 views
1

我正在研究一个分为5个应用程序的Django项目(每个都有3-6个模型)。总的来说,这个项目肯定是我可以在其他项目中重用的东西,但它只会包含所有应用程序,因为它们与内在相关。推荐的方法来打包一个Django项目? Django包含多个应用程序或多个Django包?

因此,我想打包该项目以使其可重复使用,遵循Django docsDjango cookiecutter django package。但是,这些示例仅显示如何使用单个应用进行打包。

从我已阅读有几个选项:

  1. 制作5包
  2. 制作一个应用程序有30款,并转换成models.py模块
  3. 生成一个包,5个应用程序(类似于如何django-allauth是设置)

我使用选项3,因为我觉得选项1是矫枉过正和选项2被认为是不好的做法规划(见this postthis post)。我选择3所看到的问题是,那么使用该一揽子计划将有一个项目要安装所有5个应用程序在INSTALLED_APPS像这样:

INSTALLED_APPS = [ 
    'project', 
    'project.app1', 
    'project.app2',... 
] 

有没有一种方法,以避免安装在INSTALLED_APPS如果所有的应用程序我用5个应用程序打包项目?或者对于这个用例更好的选择1或2?

+0

我也想做到这一点。任何进展? –

回答

1

如果应用程序非常耦合并且只能一起使用,那么IMO将它们放在不同的包中是没有意义的。因此,选项3是答案:如果它是私密的,则将它们全部放在一个包中,通过setup.py安装,如果它是公开的,则在pip上发布。

无耻插头:对于相关的Django的应用程序等建议,你可能有兴趣在我的“你的Django应用程序是一个用户界面”讲:https://www.youtube.com/watch?v=Mnzvjn1v1CY(幻灯片here

相关问题