>我有以下文件夹设置:
- 我的项目
- 蹼
- 工人
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
作为依赖项。