Django 在哪里放置共享模型和逻辑



>我有以下文件夹设置:

  • 我的项目
  • 工人

Web 项目是一个包含典型 django 设置和所有内容的网站,包括模型和一些将逻辑从视图中移开的服务类。该网站将显示来自数据库的数据。工作线程文件夹包含 2 个类,这些类填充数据库并聚合它。这两个类就像后台进程。我的问题是,我应该如何构建它?

  • 每个工作线程类是否应获得自己的应用程序文件夹
  • 如果是这样,我更愿意将模型移出 myproject 文件夹中的 Web 项目,因为它们在应用程序之间共享。然而,这似乎违反了django公约,为什么会这样?大会将如何处理这个问题?
  • 如果没有,我应该将这些工作进程放在哪里?我应该如何运行它们?

提前感谢!

通常,如果我有东西要在不同部分之间共享,我要么: 1(制作一个库并通过PIP安装它 2(在项目中创建一个帮助程序文件夹

将项目和应用程序分开,并创建适当的 Python 包来处理依赖项。 即

src/sites/web   <-- the project, containing manage.py, settings and root urls

src/apps/myapp  <-- the app, containing models, views, etc
src/apps/myapp/worker  <-- strongly related functionality

src/sites/web/setup.py(和/或requirements.txt(中,您将myapp添加为(安装(依赖项。

如果worker只是松散相关的功能,那么单独的包将是有意义的,例如:

src/lib/worker

其中src/lib/worker/setup.py(和/或requirements.txt(将myapp添加为依赖项,src/sites/web/setup.py将添加worker作为依赖项。

最新更新