gpt4 book ai didi

python - 打包 Django 项目的推荐方式?具有多个应用程序或多个 Django 包的 Django 包?

转载 作者:太空狗 更新时间:2023-10-30 01:32:14 25 4
gpt4 key购买 nike

我正在开发一个分为 5 个应用程序(每个应用程序有 3-6 个模型)的 Django 项目。总的来说,这个项目绝对是我会在其他项目中重用的东西,但只有当它包含所有应用程序时它才有用,因为它们在本质上是相关的。

因此,我想打包这个项目,使其可以在Django docs 之后重用。和 Django cookiecutter django package .但是,这些示例仅展示了如何使用单个应用进行打包。

根据我的阅读,有几个选项:

  1. 制作 5 个包裹
  2. 制作一个包含 30 个模型的应用程序并将 models.py 转换为一个模块
  3. 制作一个包含 5 个应用程序的程序包(类似于 django-allauth 的设置方式)

我正计划使用选项 3,因为我认为选项 1 有点矫枉过正,而选项 2 被认为是不好的做法(参见 this postthis post)。我在选项 3 中看到的问题是,使用此包的项目必须在 INSTALLED_APPS 中安装所有 5 个应用程序,如下所示:

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

如果我用 5 个应用程序打包项目,是否有办法避免必须安装 INSTALLED_APPS 中的所有应用程序?还是选项 1 或 2 更适合此用例?

最佳答案

如果应用程序非常耦合并且只能一起使用,IMO 将它们放在不同的包中是没有意义的。所以选项 3 是答案:如果它是私有(private)的,将它们全部放在一个可通过 setup.py 安装的包中,或者如果它是公共(public)的,则在 pip 上发布。

无耻插件:有关 Django 应用程序的其他建议,您可能对我的“您的 Django 应用程序是一个用户界面”演讲感兴趣:https://www.youtube.com/watch?v=Mnzvjn1v1CY (幻灯片 here)

关于python - 打包 Django 项目的推荐方式?具有多个应用程序或多个 Django 包的 Django 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43633723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com